Udostępnij za pośrednictwem


Get-Service

Pobiera usługi na komputerze.

Składnia

Get-Service
   [[-Name] <String[]>]
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   -DisplayName <String[]>
   [-Include <String[]>]
   [-Exclude <String[]>]
   [<CommonParameters>]
Get-Service
   [-DependentServices]
   [-RequiredServices]
   [-Include <String[]>]
   [-Exclude <String[]>]
   [-InputObject <ServiceController[]>]
   [<CommonParameters>]

Opis

To polecenie cmdlet jest dostępne tylko na platformie Windows.

Polecenie Get-Service cmdlet pobiera obiekty reprezentujące usługi na komputerze, w tym uruchomione i zatrzymane usługi. Domyślnie po Get-Service uruchomieniu bez parametrów są zwracane wszystkie usługi komputera lokalnego.

Możesz kierować to polecenie cmdlet, aby uzyskać tylko określone usługi, określając nazwę usługi lub nazwę wyświetlaną usług, lub można potokować obiekty usługi do tego polecenia cmdlet.

Przykłady

Przykład 1. Pobieranie wszystkich usług na komputerze

Ten przykład pobiera wszystkie usługi na komputerze. Zachowuje się tak, jakby wpisano Get-Service *. Domyślny ekran przedstawia stan, nazwę usługi i nazwę wyświetlaną każdej usługi.

Get-Service

Przykład 2. Pobieranie usług rozpoczynających się od ciągu wyszukiwania

W tym przykładzie są pobierane usługi o nazwach usług rozpoczynających się od WMI (Instrumentacja zarządzania Windows).

Get-Service "wmi*"

Przykład 3. Wyświetlanie usług zawierających ciąg wyszukiwania

W tym przykładzie są wyświetlane usługi o nazwie wyświetlanej zawierającej wyraz network. Wyszukiwanie nazwy wyświetlanej znajduje usługi związane z siecią nawet wtedy, gdy nazwa usługi nie zawiera Netelementu , takiego jak xmlprov, usługa aprowizacji sieci.

Get-Service -Displayname "*network*"

Przykład 4. Pobieranie usług rozpoczynających się od ciągu wyszukiwania i wykluczenia

W tym przykładzie są pobierane tylko usługi z nazwami usług rozpoczynającymi się od win, z wyjątkiem usługi WinRM.

Get-Service -Name "win*" -Exclude "WinRM"

Przykład 5. Wyświetlanie usług, które są obecnie aktywne

W tym przykładzie są wyświetlane tylko usługi o stanie Running.

Get-Service | Where-Object {$_.Status -eq "Running"}

Get-Service pobiera wszystkie usługi na komputerze i wysyła obiekty w dół potoku. Polecenie Where-Object cmdlet wybiera tylko usługi z właściwością Status , która jest równa Running.

Stan to tylko jedna właściwość obiektów usługi. Aby wyświetlić wszystkie właściwości, wpisz Get-Service | Get-Member.

Przykład 6. Wyświetlanie listy usług na komputerze z usługami zależnymi

W tym przykładzie są pobierane usługi, które mają usługi zależne.

Get-Service |
  Where-Object {$_.DependentServices} |
    Format-List -Property Name, DependentServices, @{
      Label="NoOfDependentServices"; Expression={$_.dependentservices.count}
    }

Name                  : AudioEndpointBuilder
DependentServices     : {AudioSrv}
NoOfDependentServices : 1

Name                  : Dhcp
DependentServices     : {WinHttpAutoProxySvc}
NoOfDependentServices : 1
...

Polecenie Get-Service cmdlet pobiera wszystkie usługi na komputerze i wysyła obiekty w dół potoku. Polecenie Where-Object cmdlet wybiera usługi, których właściwość DependentServices nie ma wartości null.

Wyniki są wysyłane w dół potoku Format-List do polecenia cmdlet. Parametr Property wyświetla nazwę usługi, nazwę usług zależnych i właściwość obliczeniową, która wyświetla liczbę usług zależnych dla każdej usługi.

Przykład 7. Sortowanie usług według wartości właściwości

W tym przykładzie pokazano, że podczas sortowania usług w kolejności rosnącej według wartości właściwości Status zatrzymane usługi są wyświetlane przed uruchomieniem usług. Dzieje się tak, ponieważ wartość statusu jest wyliczeniem, w którym Stopped ma wartość 1, i Running ma wartość 4. Aby uzyskać więcej informacji, zobacz ServiceControllerStatus.

Aby najpierw wyświetlić listę uruchomionych usług, użyj parametru Sort-ObjectDescending polecenia cmdlet.

Get-Service "s*" | Sort-Object status

Status   Name               DisplayName
------   ----               -----------
Stopped  stisvc             Windows Image Acquisition (WIA)
Stopped  SwPrv              MS Software Shadow Copy Provider
Stopped  SysmonLog          Performance Logs and Alerts
Running  Spooler            Print Spooler
Running  srservice          System Restore Service
Running  SSDPSRV            SSDP Discovery Service
Running  ShellHWDetection   Shell Hardware Detection
Running  Schedule           Task Scheduler
Running  SCardSvr           Smart Card
Running  SamSs              Security Accounts Manager
Running  SharedAccess       Windows Firewall/Internet Connectio...
Running  SENS               System Event Notification
Running  seclogon           Secondary Logon

Przykład 8. Pobieranie usług zależnych usługi

W tym przykładzie są pobierane usługi wymagane przez usługę WinRM. Zwracana jest wartość właściwości ServicesDependedOn usługi.

Get-Service "WinRM" -RequiredServices

Przykład 9. Pobieranie usługi za pośrednictwem operatora potoku

W tym przykładzie usługa WinRM jest pobierana na komputerze lokalnym. Ciąg nazwy usługi ujęta w cudzysłów jest wysyłany w dół potoku do Get-Service.

"WinRM" | Get-Service

Parametry

-DependentServices

Wskazuje, że to polecenie cmdlet pobiera tylko usługi, które zależą od określonej usługi.

Type:SwitchParameter
Aliases:DS
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Określa, jako tablicę ciągów, nazwy wyświetlane usług do pobrania. Dozwolone są symbole wieloznaczne.

Type:String[]
Position:Named
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:True

-Exclude

Określa jako tablicę ciągów usługę lub usługi, które to polecenie cmdlet wyklucza z operacji. Wartość tego parametru kwalifikuje parametr Name . Wprowadź element nazwy lub wzorzec, taki jak s*. Dozwolone są symbole wieloznaczne.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-Include

Określa jako tablicę ciągów usługę lub usługi, które to polecenie cmdlet zawiera w operacji. Wartość tego parametru kwalifikuje parametr Name . Wprowadź element nazwy lub wzorzec, taki jak s*. Dozwolone są symbole wieloznaczne.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:True

-InputObject

Określa obiekty ServiceController reprezentujące usługi do pobrania. Wprowadź zmienną zawierającą obiekty lub wpisz polecenie lub wyrażenie, które pobiera obiekty. Do tego polecenia cmdlet można przekazać obiekt usługi.

Type:ServiceController[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Name

Określa nazwy usług do pobrania. Dozwolone są symbole wieloznaczne.

Type:String[]
Aliases:ServiceName
Position:0
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:True

-RequiredServices

Wskazuje, że to polecenie cmdlet pobiera tylko usługi wymagane przez tę usługę. Ten parametr pobiera wartość właściwości ServicesDependedOn usługi.

Type:SwitchParameter
Aliases:SDO, ServicesDependedOn
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:True

Dane wejściowe

ServiceController

Do tego polecenia cmdlet można przekazać obiekt usługi.

String

Możesz przekazać nazwę usługi do tego polecenia cmdlet.

Dane wyjściowe

ServiceController

To polecenie cmdlet zwraca obiekty reprezentujące usługi na komputerze.

Uwagi

Program PowerShell zawiera następujące aliasy dla Get-Serviceprogramu :

  • W systemie Windows:
    • gsv

To polecenie cmdlet jest dostępne tylko na platformach systemu Windows.

Począwszy od programu PowerShell 6.0, następujące właściwości są dodawane do obiektów ServiceController : UserName, Description, DelayedAutoStart, BinaryPathName i StartupType .

To polecenie cmdlet może wyświetlać usługi tylko wtedy, gdy bieżący użytkownik ma uprawnienia do ich wyświetlania. Jeśli to polecenie cmdlet nie wyświetla usług, być może nie masz uprawnień do ich wyświetlania.

Aby znaleźć nazwę usługi i nazwę wyświetlaną każdej usługi w systemie, wpisz Get-Service. Nazwy usług są wyświetlane w kolumnie Nazwa , a nazwy wyświetlane są w kolumnie DisplayName .

Uwaga

Get-Service Zazwyczaj zwraca informacje o usługach, a nie sterownikach. Jeśli jednak określisz nazwę sterownika, Get-Service zwraca informacje o sterowniku.

  • Wyliczenie nie obejmuje usług sterowników urządzeń
  • Po określeniu symbolu wieloznakowego polecenie cmdlet zwraca tylko usługi systemu Windows
  • Jeśli określisz nazwę lub nazwęwyświetlaną , która jest dokładnie zgodna z nazwą usługi urządzenia, zwracane jest wystąpienie urządzenia

Podczas sortowania w kolejności rosnącej według wartości Stopped stanu usługi są wyświetlane przed usługami Running . Właściwość Status usługi to wyliczona wartość, w której nazwy stanów reprezentują wartości całkowite. Sortowanie jest oparte na wartości całkowitej, a nie na nazwie. Running pojawia się wcześniej Stopped , ponieważ Stopped ma wartość 1, i Running ma wartość 4. Aby uzyskać więcej informacji, zobacz ServiceControllerStatus.