Voit hallita Windows-palveluja paitsi services.msc-laajennuksen tai sc.exe-komentorivityökalun avulla myös PowerShellin avulla. Tässä artikkelissa tarkastelemme erilaisia skenaarioita Windows-palveluiden hallinnasta PowerShellin avulla.
Windows-palveluiden hallinnassa käytettävät PowerShell-cmdletit
Windows-palveluiden tilan tarkasteluun ja hallintaan on kahdeksan Service-perussmdlettiä. Saat täyden luettelon palvelujen hallinnan komentokomennoista suorittamalla tämän komennon:
Get-Help \*-Service
- Get-Service – mahdollistaa paikallisen tai etätietokoneen palvelujen hakemisen sekä käynnissä että pysäytettynä tilassa;
- New-Service – luo palvelun. Cmdlet luo Windowsin palvelulle uuden merkinnän rekisteriin ja palvelutietokantaan;
- Restart-Service – käynnistää palvelun uudelleen. Cmdlet lähettää uudelleenkäynnistysviestin Windowsin palveluohjaimen kautta;
- Resume-Service – jatkaa palvelun toimintaa. Cmdlet lähettää jatkamisviestin Windows-palvelunvalvojan kautta;
- Set-Service (Aseta-palvelu) – muuttaa paikallisen tai etäpalvelun asetuksia, kuten sen tilaa, kuvausta, näytettyä nimeä tai käynnistystilaa. Tällä cmdletillä voit myös käynnistää, pysäyttää tai keskeyttää palvelun;
- Start-Service – käynnistää palvelun;
- Stop-Service – pysäyttää palvelun (cmdlet lähettää pysäytysviestin Windows Service Manageriin);
- Suspend-Service – keskeyttää palvelun. Keskeytetty palvelu on edelleen käynnissä, mutta se ei tee mitään, ennen kuin se käynnistetään uudelleen( esimerkiksi Resume-Service-sentrollilla).
Saat yksityiskohtaisen kuvauksen ja esimerkkejä tietyn sentrollin käytöstä Get-Helpin avulla:
Get-Help Start-Service
Kuinka tarkistetaan Windows-palvelun tila Get-Service-sentrollilla?
Luettelon paikallisen tai etätietokoneen palveluista ja niiden tilasta (käynnissä/pysäytetty) saa Get-Service-senttimerkillä. -Name-parametrin avulla voit valita palvelut nimen perusteella. Palvelun nimi voidaan määrittää käyttämällä jokerimerkkiä *
.
Jos et tiedä tarkkaa palvelun nimeä, voit hakea sen näytetyn nimen perusteella käyttämällä -DisplayName-parametria. Voit käyttää arvoluetteloa ja jokerimerkkejä.
Käytä Get-Service-cmdlet -ComputerName-parametrilla saadaksesi palvelun tilan etätietokoneessa. Voit kysyä usean etätietokoneen palvelun tilaa kerralla määrittämällä niiden nimet pilkulla erotettuina. Esimerkiksi alla olevalla komennolla saadaan Spooler-palvelun tila etätietokoneissa ny-prnt1 ja ny-prnt2.
Get-Service spooler –ComputerName ny-prnt1,ny-prnt2
Status Name DisplayName------ ---- -----------Running spooler Print SpoolerStopped spooler Print Spooler
Käyttääksesi kaikkia palvelun ominaisuuksia voit käyttää Select-Object-senttikomentoa:
Get-Service spooler | Select-Object *
Select-Object-senttikomennon avulla voit hakea palvelun tiettyjä ominaisuuksia. Haluat esimerkiksi tarkastella Spooler-palvelun nimeä, tilaa ja käytettävissä olevia vaihtoehtoja:
Get-Service Spooler | Select DisplayName,Status,ServiceName,Can*
Hae-palvelu-senttimerkillä (Get-Service cmdlet) on kaksi parametria, joiden avulla voit tarkastella palvelun riippuvuuksia:
- -DependentServices mahdollistaa annetusta palvelusta riippuvaisten palvelujen näyttämisen
- -RequiredServices näyttää palvelut, joista annettu palvelu on riippuvainen
Seuraava komento näyttää Spooler-palvelun käynnistämiseen tarvittavat palvelut:
Get-Service –Name Spooler -RequiredServices
Seuraava komento näyttää palvelut, jotka ovat riippuvaisia Spooler-palvelusta:
Get-Service –Name Spooler -DependentServices
.