🪟 Správa Windows a PowerShell

Nástroje správce

O čem to je

Kolegyně volá: „Tiskárna netiskne, počítač je pomalý a po aktualizaci nejde zvuk.“ Jako technik nebudeš hádat. Ve Windows máš sadu nástrojů, kde přesně uvidíš, co běží, co selhalo a které zařízení nemá ovladač.

Naučíš se, kde je najdeš a jak si s nimi poradit, a k tomu základ PowerShellu, ve kterém se správa dělá rychle a opakovatelně.

Nové pojmy

SlužbaProgram, který běží na pozadí bez okna, často už od startu systému.Zařazování tisku (Spooler), Windows Update
OvladačProgram, který operačnímu systému říká, jak ovládat konkrétní zařízení.ovladač grafické karty NVIDIA
Událost (log)Záznam o tom, co se v systému stalo: chyba, varování, informace, s časem a zdrojem.
Konzola MMC (.msc)Správcovské nástroje Windows. Spustí se i příkazem v okně Spustit (Win + R).devmgmt.msc

Kde co najdeš

NástrojSpuštěníK čemu
Správce úlohCtrl + Shift + Escběžící procesy, výkon, programy po startu
Správce zařízenídevmgmt.msczařízení a ovladače, žlutý vykřičník = problém
Službyservices.mscspouštění, zastavení, typ spuštění služeb
Prohlížeč událostíeventvwr.mscchyby a varování systému a aplikací
Správa diskůdiskmgmt.mscoddíly, formátování, písmena jednotek
Správa počítačecompmgmt.mscsouhrn: uživatelé, disky, služby, události
NastaveníWin + Iběžné nastavení, Windows Update, účty
Tiskárna netiskne a úlohy visí ve frontě. Co zkusíš?
Otevři services.msc, najdi službu Zařazování tisku (Print Spooler) a dej Restartovat. Když to nepomůže, podívej se do Prohlížeče událostí na chyby kolem času tisku a do Správce zařízení, jestli tiskárna nemá vykřičník.

PowerShell

PowerShellPříkazová řádka a skriptovací jazyk Windows. Příkazy se jmenují cmdlety a mají tvar Sloveso-Podstatné jméno.Get-Process, Stop-Service
Roura v PowerShelluZnak | předá výsledek dalšímu příkazu. Na rozdíl od Linuxu se předávají objekty s vlastnostmi (jméno, CPU, stav), ne jen text.
CmdletCo děláAlias (zkratka)
Get-ChildItemvypíše obsah složkydir, ls
Set-Locationpřejde do složkycd
Copy-Itemkopírujecopy, cp
Move-Itempřesunemove, mv
Remove-Itemsmažedel, rm
Get-Processběžící procesyps
Get-Serviceslužby–
Get-Helpnápovědahelp
Jak v PowerShellu najdeš 5 procesů, které nejvíc vytěžují procesor?
Get-Process | Sort-Object CPU -Descending | Select-Object -First 5. Get-Process dá všechny procesy, Sort-Object je seřadí podle CPU od největšího, Select-Object vezme prvních 5.

Doplň příkaz.

✗Žlutý vykřičník ve Správci zařízení vyřeším tím, že zařízení odinstaluju a nechám to být.
✓Vykřičník znamená chybějící nebo vadný ovladač. Stáhni správný ovladač od výrobce nebo přes Windows Update a nainstaluj ho.

Odinstalování problém jen schová. Zařízení bez ovladače dál nefunguje.

Windows spravuješ přes Správce úloh, Správce zařízení (devmgmt.msc), Služby (services.msc), Prohlížeč událostí (eventvwr.msc) a Správu disků. PowerShell má cmdlety Sloveso-Podstatné jméno a rourou předává objekty.

Skriptem místo klikání

O čem to je

Máš ve firmě nastavit stejnou věc na 40 počítačích. Klikáním strávíš celý den a někde uděláš chybu. Napíšeš-li to jednou do PowerShellu, spustíš to 40krát stejně. Proto se ve správě Windows PowerShell vyplatí.

Nové pojmy

PowerShellPříkazové prostředí Windows. Současná verze PowerShell 7 běží i na Linuxu a macOS, ve Windows je předinstalovaný Windows PowerShell 5.1.
CmdletPříkaz PowerShellu ve tvaru Sloveso-Podstatné jméno. Slovesa jsou standardní: Get (získat), Set (nastavit), New (vytvořit), Remove (odebrat), Start, Stop.New-Item, Stop-Process
ParametrUpřesnění příkazu, začíná pomlčkou.Get-ChildItem -Path C:\Data -Recurse
Objekt a vlastnostVýsledek cmdletu je objekt s vlastnostmi. Proces má třeba vlastnost Name, Id, CPU.(Get-Process notepad).Id
ProměnnáPojmenované místo pro hodnotu. V PowerShellu začíná znakem $.$slozka = "C:\Zaloha"
Zásady spouštění (Execution Policy)Nastavení, které určuje, jestli smí běžet skripty (.ps1). Na klientských Windows jsou skripty ve výchozím stavu zakázané (Restricted).

Jak najít správný příkaz

Get-Command *service* – vypíše příkazy, které mají v názvu „service“.
Get-Help Get-Service -Examples – ukáže příklady použití.
Get-Service | Get-Member – vypíše, jaké vlastnosti mají výsledné objekty.

Filtrování a řazení

CmdletK čemuPříklad
Where-Objectvybere objekty podle podmínkyGet-Service | Where-Object Status -eq Stopped
Sort-ObjectseřadíSort-Object CPU -Descending
Select-Objectvybere vlastnosti nebo početSelect-Object Name, Id -First 3
Export-Csvuloží do tabulky CSVExport-Csv sluzby.csv

Porovnávací operátory se píšou slovy: -eq rovná se, -ne nerovná se, -gt větší, -lt menší.

Vypiš všechny zastavené služby a ulož je do souboru zastavene.csv.
Get-Service | Where-Object Status -eq Stopped | Export-Csv zastavene.csv. Get-Service vrátí všechny služby, Where-Object nechá jen zastavené, Export-Csv je zapíše do tabulky.
Najdi ve složce C:\Data a všech podsložkách soubory větší než 100 MB.
Get-ChildItem C:\Data -Recurse -File | Where-Object Length -gt 100MB. -Recurse projde podsložky, -File jen soubory, Length je velikost v bajtech a PowerShell rozumí zápisu 100MB.

Užitečné i v příkazovém řádku (cmd)

  • ipconfig /all – síťové nastavení.
  • ping – dostupnost počítače v síti.
  • sfc /scannow – kontrola a oprava systémových souborů (jako správce).
  • gpupdate /force – načte nové zásady skupiny ve firemní doméně.
  • Get-Command – najde příkazy podle jména
  • Get-Member – ukáže vlastnosti objektů
  • Where-Object – filtruje podle podmínky
  • Sort-Object – řadí
  • Export-Csv – uloží výsledek do tabulky
✗Do PowerShellu musím psát příkazy přesně velkými a malými písmeny, jinak nefungují.
✓PowerShell velikost písmen v názvech příkazů a parametrů nerozlišuje: get-service = Get-Service.

Velká písmena na začátku slov se píšou kvůli čitelnosti. Rozlišování má Linuxový shell, ne PowerShell.

PowerShell: cmdlety Sloveso-Podstatné jméno, parametry s pomlčkou, proměnné s $. Roura předává objekty: Where-Object filtruje, Sort-Object řadí, Select-Object vybírá. Nápověda Get-Help, hledání příkazů Get-Command.