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 cmdlet Get-Service
pobiera obiekty reprezentujące usługi na komputerze, w tym uruchomione i zatrzymane usługi. Domyślnie po uruchomieniu Get-Service
bez parametrów zwracane są wszystkie usługi komputera lokalnego.
Możesz używać tego polecenia cmdlet, żeby uzyskać tylko wybrane usługi, określając nazwę usługi lub nazwę wyświetlaną usługi. Możesz też przekazać obiekty usługi do tego polecenia cmdlet.
Przykłady
Przykład 1: Uzyskaj wszystkie usługi na komputerze
Ten przykład uzyskuje listę wszystkich usług na komputerze. Zachowuje się tak, jakby wpisaliśmy 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ę 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 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
, na przykład xmlprov, czyli Usługa aprowizacji sieci.
Get-Service -DisplayName "*network*"
Przykład 4: Uzyskiwanie usług rozpoczynających się od frazy wyszukiwania z wykluczeniem
W tym przykładzie są pobierane tylko usługi o nazwach usług rozpoczynających 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 cmdlet Where-Object
wybiera tylko te usługi, które mają właściwość Status równą 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 pobiera się 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 cmdlet Get-Service
pobiera wszystkie usługi na komputerze i wysyła obiekty w dół potoku. Polecenie cmdlet Where-Object
wybiera usługi, których właściwość DependentServices nie ma wartości null.
Wyniki są wysyłane w dół potoku do polecenia cmdlet Format-List
. 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 w przypadku 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ść Status jest wyliczeniem, w którym Stopped
ma wartość 1
, a Running
ma wartość 4
. Aby uzyskać więcej informacji, zobacz ServiceControllerStatus.
Aby najpierw wyświetlić uruchomione usługi, użyj parametru Descending w poleceniu cmdlet Sort-Object
.
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 dla usługi
Ten przykład uzyskuje usługi wymagane przez usługę WinRM. Wartość właściwości ServicesDependedOn usługi jest zwracana.
Get-Service "WinRM" -RequiredServices
Przykład 9. Uzyskiwanie usługi za pośrednictwem operatora potoku
Ten przykład uzyskuje dostęp do usługi WinRM na komputerze lokalnym. Ciąg nazwy usługi ujęty w cudzysłowie jest przesyłany wzdłuż potoku do Get-Service
.
"WinRM" | Get-Service
Parametry
-DependentServices
Wskazuje, że ten 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 nazwy wyświetlane usług, które mają zostać pobrane, w postaci tablicy ciągów. 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 tablicę ciągów znaków, która wskazuje usługę lub usługi, wykluczone przez to polecenie cmdlet 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, w postaci tablicy ciągów, usługę lub usługi, które to polecenie cmdletu 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 ServiceController obiektów reprezentujących 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 te usługi, które są wymagane przez inne usługi. 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 PowerShell zawiera następujące aliasy dla Get-Service
:
- Windows:
gsv
To polecenie cmdlet jest dostępne tylko na platformach Windows.
Począwszy od programu PowerShell 6.0, następujące właściwości są dodawane do obiektów ServiceController: UserName, Description, DelayedAutoStart, BinaryPathNamei 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ą wyświetlane w kolumnie DisplayName.
Notatka
Zazwyczaj Get-Service
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 DisplayName, 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 stanu, usługi Stopped
pojawiają się 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ę przed Stopped
, ponieważ Stopped
ma wartość 1
, a Running
ma wartość 4
. Aby uzyskać więcej informacji, zobacz ServiceControllerStatus.