5 PowerShell príkazov, ktoré opravujú väčšinu mojich problémov vo Windows
Spoločným menovateľom používania počítačov je, že narazíte na problémy, ktoré budú vyžadovať riešenie problémov. Po rokoch používania Windows som si všimol, že určité príkazy PowerShellu sú najpraktickejšie pri riešení bežných problémov. Od opravy pomalého spúšťania a zlých sieťových pripojení až po riešenie ustráchaných aplikácií, tieto príkazy sú vaša najlepšia voľba.
Opravte Windows skôr, než sa to zväčší
Spustite SFC a DISM v správnom poradí
Príkaz DISM opravuje úložisko komponentov Windows (WinSxS). Spustenie príkazu DISM vyžaduje predvolene pripojenie na internet, pretože sa pripája na Windows Update, aby stiahol potrebné náhradné súbory. Môžete však pridať prepínač /Source a nasmerovať ho na lokálne pripojený ISO alebo WIM súbor. Kombinácia s prepínačom /LimitAccess výslovne zabraňuje tomu, aby sa DISM pokúšal pripojiť na Windows Update, ak je lokálny zdroj neúplný.
Na druhej strane príkaz SFC prinúti Windows nahradiť poškodené súbory ich zdravými verziami z vyrovnávacej pamäte. Po skenovaní pomocou SFC by počítač mal oznámiť, že našiel a opravil chyby. Ak však niektoré chyby nemožno opraviť, skontrolujte súbor CBS.log na C:\Windows\Logs\CBS\CBS.log.
Tieto dve príkazy spúšťam, keď vidím akékoľvek známky poškodenia systémových súborov Windows a úložiska komponentov. Tieto známky môžu byť:
- Systém zamŕza, zlyháva alebo Zobrazuje modrú obrazovku smrti (BSOD)
- Funkcie alebo aplikácie Windowsu nefungujú správne
- Významné a náhle spomalenie systému
Ak je BSOD spôsobený hardvérom, oba príkazy budú pri jeho oprave neúčinné.
Tu sú presné príkazy PowerShell, ktoré spúšťam s administrátorskými právami:
DISM /Online /Cleanup-Image /RestoreHealth
sfc /scannowVoliteľne spustím nižšie uvedený príkaz na vytvorenie čitateľného textového súboru s protokolmi sledovania aktualizácií Windows na diagnostické preskúmanie:
Get-WindowsUpdateLogPravidlo je najprv spustiť DISM pred SFC, potom reštartovať počítač. To vám dáva najlepšiu šancu na úspešnú, hlbokú a trvalú opravu.
Zistite, čo vlastne zapĺňa váš disk
Odhaľuje žrútov úložiska, ktoré skryvá grafické rozhranie
Jedným z bežnejších problémov, s ktorými sa stretávam na Windows, je to, že aplikácie alebo systémové komponenty zapisujú na disk viac dát, než sa očakávalo. Niekedy ich viem sledovať pomocou funkcie Windows Storage Sense, ale nie vždy je to najefektívnejšie riešenie. Spoľahlivejšia metóda vyžaduje dopytovanie Windowsu po súboroch a zložkách, ktoré zaberajú najviac miesta.
V ktorejkoľvek z týchto situácií môže byť potrebné spustiť PowerShell dotaz:
- Disky sa zapĺňajú rýchlejšie ako obvykle
- Zvýšené časy načítania aplikácií
- Pomalé operácie so súbormi
- Nevysvetlené varovania o nízkom mieste na disku
Nižšie uvedený príkazový blok skenuje a zobrazuje najväčšie priečinky pre akýkoľvek zadaný používateľský profil Windows:
$folders = Get-ChildItem -Path $env:USERPROFILE -Directory
$folderSizes = foreach ($f in $folders) {
$totalBytes = (Get-ChildItem $f.FullName -Recurse -File -ErrorAction Ignore | Measure-Object -Property Length -Sum).Sum
[PSCustomObject]@{
Path = $f.FullName
SizeInGB = [math]::Round(($totalBytes / 1GB), 2)
}
}
$folderSizes | Sort-Object -Property SizeInGB -DescendingVoliteľne spustím nižšie uvedený príkaz PowerShell, aby som videl najväčšie jednotlivé súbory:
Get-ChildItem $env:USERPROFILE -Recurse -File | Sort-Object Length -Descending | Select-Object -First 5 -Property Name, @{Name='SizeGB';Expression={[math]::Round($_.Length/1GB,2)}}Je múdre začať skenovanie z používateľského priečinka, pretože zvyčajne obsahuje najväčšie súbory, a rozšíriť skenovanie na iné disky iba v prípade potreby.
Resetujte sieť bez vymazania svojich adaptérov
Správne vymazať DNS, Winsock a TCP/IP
Príčiny problémov so sieťou nie sú vždy zrejmé. Niekedy potrebujete niektoré úpravy smerovača pre spoľahlivejší internet. Inokedy môžu určité aplikácie spúšťať problémy. V skutočnosti môže byť vinníkom aj samotný operačný systém. Používanie PowerShellu na reštartovanie všetkých mojich adaptérov je často spoľahlivá oprava a ušetrí mi to preinštalovanie ovládačov.
Tieto sieťové príkazy sú zvyčajne účinné v ktoromkoľvek z nasledujúcich prípadov:
- Zadržovanie alebo čiastočné otváranie webových stránok
- Prerušené sťahovania alebo nahrávania
- Chyby „Žiadny internet“, keď ostatné zariadenia fungujú v poriadku
Nižšie sú uvedené tri príkazy, ktoré používam v poradí (vyžadujú administrátorské práva):
Clear-DnsClientCache
Get-NetAdapter | Where-Object {$_.Status -eq "Up"} | Restart-NetAdapter
Test-NetConnection google.com
Ak máte uložené adresy, ktoré sú zastarané alebo poškodené, prvý príkaz môže pomôcť vyčistiť ich z miestnej DNS vyrovnávacej pamäte. Druhý príkaz vypne a znovu zapne fyzický sieťový adaptér a vyhne sa iným konfiguráciám, a posledný príkaz je jednoduchý test pripojiteľnosti. Majte však na pamäti, že tieto príkazy nie sú účinné pri problémoch na úrovni smerovača alebo poskytovateľa internetu.
Pre agresívnejšie obnovenie prostredníctvom rozhrania GUI otvorte Nastavenia a prejdite na Sieť a internet -> Rozšírené nastavenia siete -> Obnovenie siete.
Keď sú ostatné zariadenia online a posledný príkaz zlyhá, všimnite si, že firewall, DNS politiky alebo blokované domény môžu ovplyvniť výsledky. Spustením príkazu: Test-NetConnection -ComputerName 8.8.8.8 -Port 53 je možné vylúčiť špecifický problém s DNS.
Prestaň hádať, prečo sa tvoj počítač zdá pomalý
Okamžite zoradiť CPU, pamäť a vplyv na spustenie
Sú chvíle, keď sa váš počítač zdá byť pomalý. Ak som nespustil žiadnu známu úlohu, ktorá by mohla spôsobiť spomalenie, skúmam bežiace procesy. Môžu ukázať, čo spotrebúva CPU, pamäť alebo prostriedky po spustení. Z Task Managera môžem získať snímku, ktorá mi umožní podniknúť presné kroky. S inými nástrojmi tretích strán, ako je Process Explorer, môžem získať podrobnejšie informácie.
Avšak stále sa uchyľujem k PowerShellu pre živý, prenosný pohľad, keď si všimnem niektoré z nasledovného:
- Zamŕzajúce alebo oneskorené aplikácie
- Vysoká aktivita ventilátora
- Časté výkyvy CPU
- Predĺžené časy spúšťania Windows
Nižšie sú uvedené rôzne sady príkazov, ktoré spúšťam:
# Top 5 processes by live CPU usage
Get-Counter '\Process(*)\% Processor Time' |
Select-Object -ExpandProperty CounterSamples |
Sort-Object -Property CookedValue -Descending |
Select-Object -First 5 -Property InstanceName,CookedValue
# Top 5 processes by private memory usage
Get-Process | Sort-Object PM -Descending | Select-Object -First 5 ProcessName,PM
# View startup programs
Get-CimInstance Win32_StartupCommand
# View currently running services
Get-Service | Where-Object {$_.Status -eq "Running"}
Spustením týchto príkazov získavam jasný obraz o aplikáciách a procesoch a pomáha mi to urobiť informovanejšie rozhodnutie o tom, ako s nimi naložiť. Niekedy sa rozhodnem proces alebo program ukončiť; inokedy upravím nastavenia alebo, v niektorých extrémnych prípadoch, odinštalujem aplikácie.
Na vrchu môžete vidieť položky ako „_total“ a „Idle“; sú to artefakty čítačov a nie skutočné procesy.
Opravte nefunkčné aplikácie a chyby ponuky Štart
Bezpečne zaregistrujte balíky aplikácií znova
Chybné aktualizácie Windows, poškodené systémové súbory a nástroje tretích strán na prispôsobenie môžu často spôsobovať problémy s aplikáciami Windows a ponukou Štart. Preinštalovanie aplikácií môže byť účinné, ale často je to prehnané. Pomocou PowerShell môžete tento problém vyriešiť opätovným zaregistrovaním balíkov aplikácií.
Toto je moje osvedčené riešenie v nasledujúcich situáciách:
- Ponuka Štart sa nedá otvoriť
- Ponuka Štart reaguje pomaly
- Aplikácie Microsoft Store sa nespustia ani sa neaktualizujú
Nižšie sú bloky príkazov, ktoré spúšťam:
# Re-register all user and system apps
$brokenApps = Get-AppxPackage -AllUsers | Where-Object {$_.InstallLocation -and (Test-Path "$($_.InstallLocation)\AppXManifest.xml")}
foreach ($app in $brokenApps) {
Add-AppxPackage -DisableDevelopmentMode -Register "$($app.InstallLocation)\AppXManifest.xml"
}
# Reset Microsoft Store cache
Start-Process wsreset.exeOpätovná registrácia balíkov aplikácií (najmä s -AllUsers) môže spôsobiť dočasné prerušenie a môže vyžadovať práva správcu. Spustite príkaz v PowerShell termináli s oprávneniami správcu a, ak je to možné, zamerajte sa na konkrétnych používateľov.
Vždy sa vraciam k PowerShellu
Toto nie sú príkazy len na to, aby ste vyzerali technicky. Sú presné a účinne vyriešia väčšinu bežných problémov vo Windows. Pre niektoré z nich existujú grafické alternatívy, ale ja sa držím PowerShellu, pretože mi poskytuje väčšiu kontrolu.









