Weboldal keresés

Szolgáltatások kezelése


Ez a példa csak a Windows PowerShell 5.1-re vonatkozik.

Nyolc alapvető Service-parancsmag létezik, amelyeket a szolgáltatási feladatok széles körére terveztek. Ez a cikk csak a szolgáltatások listázásával és futó állapotának módosításával foglalkozik. A szolgáltatás-parancsmagok listáját a Get-Command *-Service használatával kaphatja meg. Az egyes parancsmagokról a Get-Help használatával találhat információkat, például a Get-Help New-Service segítségével.

Szolgáltatások megszerzése

A szolgáltatásokat helyi vagy távoli számítógépen érheti el a Get-Service parancsmag használatával. Akárcsak a Get-Process esetében, a Get-Service parancs paraméterek nélküli használata minden szolgáltatást visszaad. Szűrhet név szerint, még akkor is, ha csillagot használ helyettesítő karakterként:

PS> Get-Service -Name se*

Status   Name               DisplayName
------   ----               -----------
Running  seclogon           Secondary Logon
Running  SENS               System Event Notification
Stopped  ServiceLayer       ServiceLayer

Mivel nem mindig egyértelmű, hogy mi a szolgáltatás valódi neve, előfordulhat, hogy a szolgáltatásokat megjelenített név alapján kell megkeresnie. Kereshet adott név alapján, használhat helyettesítő karaktereket, vagy megadhatja a megjelenített nevek listáját:

PS> Get-Service -DisplayName se*

Status   Name               DisplayName
------   ----               -----------
Running  lanmanserver       Server
Running  SamSs              Security Accounts Manager
Running  seclogon           Secondary Logon
Stopped  ServiceLayer       ServiceLayer
Running  wscsvc             Security Center

PS> Get-Service -DisplayName ServiceLayer, Server

Status   Name               DisplayName
------   ----               -----------
Running  lanmanserver       Server
Stopped  ServiceLayer       ServiceLayer

Távoli szolgáltatások igénybevétele

A Windows PowerShell használatával a Get-Service parancsmag ComputerName paraméterével érheti el a szolgáltatásokat távoli számítógépeken. A ComputerName paraméter több értéket és helyettesítő karaktert is elfogad, így egyetlen paranccsal több számítógépen is elérheti a szolgáltatásokat. Például a következő parancs lekéri a szolgáltatásokat a Server01 távoli számítógépen.

Get-Service -ComputerName Server01

A PowerShell 6.0-tól kezdve a *-Service parancsmagok nem rendelkeznek a ComputerName paraméterrel. A PowerShell-távolással továbbra is elérheti a szolgáltatásokat távoli számítógépeken. Például a következő parancs lekéri a szolgáltatásokat a Server02 távoli számítógépen.

Invoke-Command -ComputerName Server02 -ScriptBlock { Get-Service }

A szolgáltatásokat a többi *-Service parancsmaggal is kezelheti. A PowerShell-távolról további információért lásd: about_Remote.

Szükséges és függő szolgáltatások igénybevétele

A Get-Service parancsmagnak két olyan paramétere van, amelyek nagyon hasznosak a szolgáltatás adminisztrációjában. A DependentServices paraméter a szolgáltatástól függő szolgáltatásokat kapja meg.

A RequiredServices paraméter olyan szolgáltatásokat kap, amelyektől a LanmanWorkstation szolgáltatás függ.

PS> Get-Service -Name LanmanWorkstation -RequiredServices

Status   Name               DisplayName
------   ----               -----------
Running  MRxSmb20           SMB 2.0 MiniRedirector
Running  bowser             Bowser
Running  MRxSmb10           SMB 1.x MiniRedirector
Running  NSI                Network Store Interface Service

A DependentServices paraméter a LanmanWorkstation szolgáltatást igényli.

PS> Get-Service -Name LanmanWorkstation -DependentServices

Status   Name               DisplayName
------   ----               -----------
Running  SessionEnv         Terminal Services Configuration
Running  Netlogon           Netlogon
Stopped  Browser            Computer Browser
Running  BITS               Background Intelligent Transfer Ser...

A következő parancs lekéri az összes függőséggel rendelkező szolgáltatást. A Format-Table parancsmag az Status, Name, RequiredServices és DependentServices megjelenítéséhez > a szolgáltatások tulajdonságait.

Get-Service -Name * | Where-Object {$_.RequiredServices -or $_.DependentServices} |
  Format-Table -Property Status, Name, RequiredServices, DependentServices -auto

Szolgáltatások leállítása, indítása, felfüggesztése és újraindítása

A Service-parancsmagok azonos általános formájúak. A szolgáltatások megadhatók köznévvel vagy megjelenített névvel, és értékként listákat és helyettesítő karaktereket vehetnek fel. A nyomtatási sorkezelő leállításához használja:

Stop-Service -Name spooler

A nyomtatási spooler leállítása utáni elindításához használja:

Start-Service -Name spooler

A nyomtatási spooler felfüggesztéséhez használja:

Suspend-Service -Name spooler

Az Restart-Service parancsmag ugyanúgy működik, mint a többi szolgáltatás parancsmag:

PS> Restart-Service -Name spooler

WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
PS>

Figyelje meg, hogy ismétlődő figyelmeztető üzenetet kap a Print Spooler elindulásáról. Ha olyan szervizműveletet hajt végre, amely némi időt vesz igénybe, a PowerShell értesíti, hogy még mindig megpróbálja végrehajtani a feladatot.

Ha több szolgáltatást szeretne újraindítani, lekérheti a szolgáltatások listáját, szűrheti őket, majd végrehajthatja az újraindítást:

PS> Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service

WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
WARNING: Waiting for service 'Computer Browser (Browser)' to finish stopping...
Restart-Service : can't stop service 'Logical Disk Manager (dmserver)' because
 it has dependent services. It can only be stopped if the Force flag is set.
At line:1 char:57
+ Get-Service | Where-Object -FilterScript {$_.CanStop} | Restart-Service <<<<
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...
WARNING: Waiting for service 'Print Spooler (Spooler)' to finish starting...

Ezek a Service-parancsmagok nem rendelkeznek ComputerName paraméterrel, de futtathatók távoli számítógépen az Invoke-Command parancsmag használatával. A következő parancs például újraindítja a Spooler szolgáltatást a Server01 távoli számítógépen.

Invoke-Command -ComputerName Server01 {Restart-Service Spooler}

Szolgáltatás tulajdonságainak beállítása

A Set-Service parancsmag megváltoztatja a szolgáltatás tulajdonságait egy helyi vagy távoli számítógépen. Mivel a szolgáltatás állapota egy tulajdonság, ezzel a parancsmaggal elindíthatja, leállíthatja és felfüggesztheti a szolgáltatást. A Set-Service parancsmag egy StartupType paraméterrel is rendelkezik, amely lehetővé teszi a szolgáltatás indítási típusának módosítását.

A Set-Service használatához Windows Vista és a Windows újabb verziói esetén nyissa meg a PowerShellt a Futtatás rendszergazdaként lehetőséggel.

További információkért lásd: Set-Service

Lásd még

  • about_Remote
  • Get-Service
  • Set-Service
  • Restart-Service
  • Suspend-Service

Kapcsolódó cikkek