A Windows-szolgáltatásokat nemcsak a services.msc beépülő modulból vagy az sc.exe parancssori eszközből, hanem a PowerShell segítségével is kezelheti. Ebben a cikkben a Windows-szolgáltatások PowerShell segítségével történő kezelésének különböző forgatókönyveit tekintjük át.
A Windows-szolgáltatások kezeléséhez használt PowerShell-cmdletek
A Windows-szolgáltatások állapotának megtekintéséhez és kezeléséhez nyolc alapvető Service cmdlet áll rendelkezésre. A szolgáltatáskezelő cmdletek teljes listájának megtekintéséhez futtassa ezt a parancsot:
Get-Help \*-Service
- Get-Service – lehetővé teszi a helyi vagy távoli számítógépen futó vagy leállított állapotban lévő szolgáltatások lekérdezését;
- New-Service – szolgáltatást hoz létre. A cmdlet új bejegyzést hoz létre egy Windows-szolgáltatás számára a rendszerleíró adatbázisban és a szolgáltatás-adatbázisban;
- Restart-Service – újraindít egy szolgáltatást. A parancsértelmező az újraindítási üzenetet a Windows szolgáltatásvezérlőn keresztül küldi;
- Resume-Service – egy szolgáltatás újraindítása. A parancsikon újraindítási üzenetet küld a Windows szolgáltatáskezelőnek;
- Set-Service – megváltoztatja egy helyi vagy távoli szolgáltatás beállításait, beleértve annak állapotát, leírását, megjelenített nevét vagy indítási módját. Ezzel a cmdlet segítségével elindíthat, leállíthat vagy felfüggeszthet egy szolgáltatást;
- Start-Service – elindít egy szolgáltatást;
- Stop-Service – leállít egy szolgáltatást (a cmdlet leállító üzenetet küld a Windows szolgáltatáskezelőnek);
- Suspend-Service – felfüggeszti a szolgáltatást. A felfüggesztett szolgáltatás továbbra is fut, de nem csinál semmit, amíg újra nem indítjuk( például a Resume-Service cmdlet segítségével).
A Get-Help segítségével részletes leírást és példákat kaphat egy adott cmdlet használatáról:
Get-Help Start-Service
Hogyan ellenőrizze a Windows szolgáltatás állapotát a Get-Service segítségével?
A Get-Service cmdlet segítségével lekérdezheti a helyi vagy távoli számítógépen lévő szolgáltatások listáját és állapotát (futó/leállított). A -Name paraméter lehetővé teszi a szolgáltatások név szerinti kiválasztását. A szolgáltatás neve megadható a *
.
Ha nem ismeri a szolgáltatás pontos nevét, a -DisplayName paraméterrel a megjelenített neve alapján is megkeresheti. Használhatja az értékek listáját és a helyettesítő karaktereket.
A Get-Service cmdletet a -ComputerName paraméterrel használhatja a szolgáltatás állapotának lekérdezéséhez egy távoli számítógépen. Egyszerre több távoli számítógép szolgáltatási állapotát is lekérdezheti a nevek vesszővel elválasztott megadásával. Az alábbi parancs például a ny-prnt1 és ny-prnt2 távoli számítógépek Spooler szolgáltatásának állapotát kéri le.
Get-Service spooler –ComputerName ny-prnt1,ny-prnt2
Status Name DisplayName------ ---- -----------Running spooler Print SpoolerStopped spooler Print Spooler
A szolgáltatás összes tulajdonságának megjelenítéséhez használja a Select-Object cmdletet:
Get-Service spooler | Select-Object *
A Select-Object cmdlet segítségével egy szolgáltatás meghatározott tulajdonságait kérheti le. Például a Spooler szolgáltatás nevét, állapotát és elérhető opcióit szeretné megtekinteni:
Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*
A Get-Service cmdlet két paraméterrel rendelkezik, amelyek segítségével megtekintheti a szolgáltatásfüggőségeket:
- -DependentServices lehetővé teszi az adott szolgáltatástól függő szolgáltatások megjelenítését
- -RequiredServices megjeleníti azokat a szolgáltatásokat, amelyektől az adott szolgáltatás függ
A következő parancs megjeleníti a Spooler szolgáltatás indításához szükséges szolgáltatásokat:
Get-Service –Name Spooler -RequiredServices
A következő parancs a Spooler szolgáltatástól függő szolgáltatásokat mutatja:
Get-Service –Name Spooler -DependentServices
.