Puteți gestiona serviciile Windows nu numai din snap-in-ul services.msc sau din instrumentul de linie de comandă sc.exe, ci și utilizând PowerShell. În acest articol vom lua în considerare diferite scenarii de gestionare a serviciilor Windows cu PowerShell.
Comandate PowerShell utilizate pentru gestionarea serviciilor Windows
Există opt cmdlete Service de bază pentru a vizualiza starea serviciilor Windows și pentru a le gestiona. Pentru a obține lista completă a cmdlet-urilor de gestionare a serviciilor, rulați această comandă:
Get-Help \*-Service
- Get-Service – permite obținerea serviciilor de pe un computer local sau de la distanță, atât în stare de funcționare, cât și oprită;
- New-Service – creează un serviciu. cmdlet-ul creează o nouă intrare pentru un serviciu Windows în registru și în baza de date a serviciilor;
- Restart-Service – repornește un serviciu. cmdlet-ul trimite mesajul de repornire prin intermediul Windows Service Controller;
- Resume-Service – repornește un serviciu. cmdlet-ul trimite un mesaj de reluare către Windows Service Manager;
- Set-Service – modifică setările unui serviciu local sau la distanță, inclusiv starea, descrierea, numele afișat sau modul de pornire al acestuia. De asemenea, puteți utiliza acest cmdlet pentru a porni, opri sau suspenda un serviciu;
- Start-Service – pornește un serviciu;
- Stop-Service – oprește un serviciu (cmdlet-ul trimite un mesaj de oprire către Windows Service Manager);
- Suspend-Service – suspendă un serviciu. Un serviciu suspendat continuă să funcționeze, dar nu face nimic până când nu este reluat folosind( de exemplu, cu cmdlet Resume-Service).
Puteți obține o descriere detaliată și exemple de utilizare a unui anumit cmdlet cu ajutorul Get-Help:
Get-Help Start-Service
Cum se verifică starea serviciului Windows cu Get-Service?
Puteți obține lista de servicii și starea acestora (Running/Stopped) pe un computer local sau la distanță folosind cmdlet Get-Service. Parametrul -Name permite selectarea serviciilor după nume. Numele serviciului poate fi specificat folosind caracterul wildcard *
.
Dacă nu cunoașteți numele exact al serviciului, îl puteți găsi după numele afișat folosind parametrul -DisplayName. Puteți utiliza lista de valori și caractere wildcards.
Utilizați cmdlet Get-Service cu parametrul -ComputerName pentru a obține starea serviciului pe un computer la distanță. Puteți interoga starea serviciului pe mai multe calculatoare la distanță deodată, specificând numele acestora separate prin virgule. De exemplu, comanda prezentată mai jos obține starea serviciului Spooler pe computerele la distanță ny-prnt1 și ny-prnt2.
Get-Service spooler –ComputerName ny-prnt1,ny-prnt2
Status Name DisplayName------ ---- -----------Running spooler Print SpoolerStopped spooler Print Spooler
Pentru a afișa toate proprietățile unui serviciu, utilizați cmdlet Select-Object:
Get-Service spooler | Select-Object *
Commandă Select-Object permite obținerea unor proprietăți specifice ale unui serviciu. De exemplu, doriți să vizualizați numele, starea și opțiunile disponibile ale serviciului Spooler:
Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*
Cmodelul Get-Service are doi parametri care vă permit să vizualizați dependențele serviciului:
- -DependentServices permite afișarea serviciilor care depind de serviciul dat
- -RequiredServices afișează serviciile de care depinde serviciul dat
Comanda următoare afișează serviciile necesare pentru a porni serviciul Spooler:
Get-Service –Name Spooler -RequiredServices
Comenda următoare afișează serviciile care depind de Spooler:
Get-Service –Name Spooler -DependentServices
.