Get-Service
Pobiera usługi na komputerze lokalnym lub zdalnym.
Składnia
Get-Service
[[-Name] <String[]>]
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[<CommonParameters>]
Get-Service
[-ComputerName <String[]>]
[-DependentServices]
[-RequiredServices]
[-Include <String[]>]
[-Exclude <String[]>]
[-InputObject <ServiceController[]>]
[<CommonParameters>]
Opis
Polecenie Get-Service
cmdlet pobiera obiekty reprezentujące usługi na komputerze lokalnym lub na komputerze zdalnym, w tym uruchomione i zatrzymane usługi. Domyślnie po Get-Service
uruchomieniu bez parametrów zwracane są 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. Można też przekazać do tego polecenia cmdlet obiekty usługi.
Przykłady
Przykład 1: Pobieranie wszystkich usług na komputerze
Ten przykład pobiera wszystkie usługi na komputerze. Zachowuje się tak, jakby wpisana wartość Get-Service *
. Na ekranie domyślnym jest wyświetlany stan, nazwa usługi i nazwa wyświetlana 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 z nazwami usług rozpoczynającymi się WMI
od (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 z nazwą wyświetlaną zawierającą wyraz network
. Wyszukiwanie nazwy wyświetlanej znajduje usługi związane z siecią nawet wtedy, gdy nazwa usługi nie zawiera Net
elementu , takiego jak xmlprov, usługa Network Provisioning Service.
Get-Service -Displayname "*network*"
Przykład 4. Pobieranie usług rozpoczynających się od ciągu wyszukiwania i wykluczenia
Ten przykład pobiera tylko usługi z nazwami usług, które zaczynają 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 ze stanem 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 Running
równa .
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. Pobieranie usług na komputerze zdalnym
Get-Service -ComputerName "Server02"
To polecenie pobiera usługi na komputerze zdalnym Server02.
Ponieważ parametr Get-Service
ComputerName programu nie używa komunikacji zdalnej programu Windows PowerShell, można użyć tego parametru, nawet jeśli komputer nie jest skonfigurowany do komunikacji zdalnej w programie Windows PowerShell.
Przykład 7. Wyświetlanie listy usług na komputerze lokalnym, które mają usługi zależne
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 8. 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 to wyliczenie, 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-Object
Descending 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 9. Pobieranie usług na wielu komputerach
Get-Service -Name "WinRM" -ComputerName "localhost", "Server01", "Server02" |
Format-Table -Property MachineName, Status, Name, DisplayName -auto
MachineName Status Name DisplayName
------------ ------ ---- -----------
localhost Running WinRM Windows Remote Management (WS-Management)
Server01 Running WinRM Windows Remote Management (WS-Management)
Server02 Running WinRM Windows Remote Management (WS-Management)
To polecenie używa Get-Service
polecenia cmdlet do uruchomienia Get-Service Winrm
polecenia na dwóch komputerach zdalnych i komputerze lokalnym (localhost
).
Polecenie jest uruchamiane na komputerach zdalnych, a wyniki są zwracane do komputera lokalnego. Operator potoku (|
) wysyła wyniki do Format-Table
polecenia cmdlet, które formatuje usługi jako tabelę. Polecenie Format-Table
używa parametru Property , aby określić właściwości wyświetlane w tabeli, w tym właściwość MachineName .
Przykład 10: 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 11: Uzyskiwanie usługi za pośrednictwem operatora potoku
Ten przykład pobiera usługę WinRM na komputerze lokalnym. Ciąg nazwy usługi, ujęty w cudzysłów, jest wysyłany w dół potoku do Get-Service
.
"WinRM" | Get-Service
Parametry
-ComputerName
Pobiera usługi uruchomione na określonych komputerach. Wartość domyślna to komputer lokalny.
Wpisz nazwę NetBIOS, adres IP lub w pełni kwalifikowaną nazwę domeny (FQDN) komputera zdalnego.
Aby określić komputer lokalny, wpisz nazwę komputera, kropkę (.
) lub localhost
.
Ten parametr nie opiera się na komunikacji zdalnej programu Windows PowerShell. Można użyć parametru Get-Service
ComputerName, nawet jeśli komputer nie jest skonfigurowany do uruchamiania poleceń zdalnych.
Typ: | String[] |
Aliasy: | Cn |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-DependentServices
Wskazuje, że to polecenie cmdlet pobiera tylko usługi, które zależą od określonej usługi.
Typ: | SwitchParameter |
Aliasy: | DS |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | False |
-DisplayName
Określa, jako tablicę ciągów, nazwy wyświetlane usług do pobrania. Dozwolone są symbole wieloznaczne.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | True |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | String[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | ServiceController[] |
Position: | Named |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | False |
-Name
Określa nazwy usług do pobrania. Dozwolone są symbole wieloznaczne.
Typ: | String[] |
Aliasy: | ServiceName |
Position: | 0 |
Domyślna wartość: | None |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | True |
Akceptowanie symboli wieloznacznych: | 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.
Typ: | SwitchParameter |
Aliasy: | SDO, ServicesDependedOn |
Position: | Named |
Domyślna wartość: | False |
Wymagane: | False |
Akceptowanie danych wejściowych potoku: | False |
Akceptowanie symboli wieloznacznych: | True |
Dane wejściowe
Do tego polecenia cmdlet można przekazać obiekt usługi.
Możesz przekazać nazwę usługi do tego polecenia cmdlet.
Dane wyjściowe
To polecenie cmdlet zwraca obiekty reprezentujące usługi na komputerze.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla programu Get-Service
:
gsv
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 o sterowniku. 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
jest wyświetlany przed Stopped
, ponieważ Stopped
ma wartość 1
, i Running
ma wartość 4
. Aby uzyskać więcej informacji, zobacz ServiceControllerStatus.