Get-Service

Hämtar tjänsterna på en lokal dator eller fjärrdator.

Syntax

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>]

Description

Cmdleten Get-Service hämtar objekt som representerar tjänsterna på en lokal dator eller på en fjärrdator, inklusive tjänster som körs och stoppas. När körs utan parametrar returneras som standard Get-Service alla den lokala datorns tjänster.

Du kan dirigera den här cmdleten så att endast vissa tjänster hämtas genom att ange tjänstnamnet eller visningsnamnet för tjänsterna, eller så kan du skicka serviceobjekt till den här cmdleten.

Exempel

Exempel 1: Hämta alla tjänster på datorn

Det här exemplet hämtar alla tjänster på datorn. Det beter sig som om du skrev Get-Service *. Standardvisningen visar status, tjänstnamn och visningsnamn för varje tjänst.

Get-Service

Exempel 2: Hämta tjänster som börjar med en söksträng

Det här exemplet hämtar tjänster med tjänstnamn som börjar med WMI (Windows Management Instrumentation).

Get-Service "wmi*"

Exempel 3: Visa tjänster som innehåller en söksträng

I det här exemplet visas tjänster med ett visningsnamn som innehåller ordet network. Genom att söka i visningsnamnet hittas nätverksrelaterade tjänster även när tjänstnamnet inte innehåller Net, till exempel xmlprov, nätverksetableringstjänsten.

Get-Service -Displayname "*network*"

Exempel 4: Hämta tjänster som börjar med en söksträng och ett undantag

Det här exemplet hämtar bara tjänsterna med tjänstnamn som börjar med win, förutom WinRM-tjänsten.

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

Exempel 5: Visa tjänster som för närvarande är aktiva

I det här exemplet visas endast tjänster med statusen Running.

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

Get-Service hämtar alla tjänster på datorn och skickar objekten nedåt i pipelinen. Cmdleten Where-Object väljer endast de tjänster med en statusegenskap som är Runninglika med .

Status är bara en egenskap för tjänstobjekt. Om du vill se alla egenskaper skriver du Get-Service | Get-Member.

Exempel 6: Hämta tjänsterna på en fjärrdator

Get-Service -ComputerName "Server02"

Det här kommandot hämtar tjänsterna på server02-fjärrdatorn.

Eftersom parametern Get-Service ComputerName i inte använder Windows PowerShell-fjärrkommunikation kan du använda den här parametern även om datorn inte har konfigurerats för fjärrkommunikation i Windows PowerShell.

Exempel 7: Lista de tjänster på den lokala datorn som har beroende tjänster

Det här exemplet hämtar tjänster som har beroende tjänster.

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
...

Cmdleten Get-Service hämtar alla tjänster på datorn och skickar objekten nedåt i pipelinen. Cmdleten Where-Object väljer de tjänster vars egenskap DependentServices inte är null.

Resultatet skickas ned i pipelinen till cmdleten Format-List . Parametern Egenskap visar namnet på tjänsten, namnet på de beroende tjänsterna och en beräknad egenskap som visar antalet beroende tjänster för varje tjänst.

Exempel 8: Sortera tjänster efter egenskapsvärde

Det här exemplet visar att när du sorterar tjänster i stigande ordning efter värdet för deras statusegenskap visas stoppade tjänster innan tjänsterna körs. Detta beror på att värdet för Status är en uppräkning, där Stopped har värdet 1, och Running har värdet 4. Mer information finns i ServiceControllerStatus.

Om du vill visa en lista över tjänster som körs först använder du parametern Descending för cmdleten 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

Exempel 9: Hämta tjänster på flera datorer

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)

Det här kommandot använder cmdleten Get-Service för att köra ett Get-Service Winrm kommando på två fjärrdatorer och den lokala datorn (localhost).

Kommandot körs på fjärrdatorerna och resultatet returneras till den lokala datorn. En pipelineoperator (|) skickar resultatet till cmdleten Format-Table , som formaterar tjänsterna som en tabell. Kommandot Format-Table använder egenskapsparametern för att ange de egenskaper som visas i tabellen, inklusive egenskapen MachineName.

Exempel 10: Hämta beroende tjänster för en tjänst

Det här exemplet hämtar de tjänster som WinRM-tjänsten kräver. Värdet för tjänstens ServicesDependedOn-egenskap returneras.

Get-Service "WinRM" -RequiredServices

Exempel 11: Hämta en tjänst via pipelineoperatorn

Det här exemplet hämtar WinRM-tjänsten på den lokala datorn. Tjänstnamnsträngen, som omges av citattecken, skickas nedåt i pipelinen till Get-Service.

"WinRM" | Get-Service

Parametrar

-ComputerName

Hämtar tjänsterna som körs på de angivna datorerna. Standard är den lokala datorn.

Ange NetBIOS-namnet, en IP-adress eller ett fullständigt domännamn (FQDN) för en fjärrdator. Om du vill ange den lokala datorn skriver du datornamnet, en punkt (.) eller localhost.

Den här parametern förlitar sig inte på Windows PowerShell-fjärrkommunikation. Du kan använda parametern Get-Service ComputerName för även om datorn inte är konfigurerad för att köra fjärrkommandon.

Typ:String[]
Alias:Cn
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-DependentServices

Anger att denna cmdlet endast hämtar de tjänster som är beroende av den angivna tjänsten.

Typ:SwitchParameter
Alias:DS
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:False

-DisplayName

Anger visningsnamnen för tjänster som ska hämtas som en strängmatris. Jokertecken tillåts.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:True
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-Exclude

Anger, som en strängmatris, en tjänst eller tjänster som denna cmdlet exkluderar från åtgärden. Värdet för den här parametern kvalificerar parametern Namn . Ange ett namnelement eller mönster, till exempel s*. Jokertecken tillåts.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-Include

Anger, som en strängmatris, en tjänst eller tjänster som den här cmdleten innehåller i åtgärden. Värdet för den här parametern kvalificerar parametern Namn . Ange ett namnelement eller mönster, till exempel s*. Jokertecken tillåts.

Typ:String[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

-InputObject

Anger ServiceController-objekt som representerar de tjänster som ska hämtas. Ange en variabel som innehåller objekten eller skriv ett kommando eller uttryck som hämtar objekten. Du kan skicka ett tjänstobjekt till den här cmdleten.

Typ:ServiceController[]
Position:Named
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:False

-Name

Anger tjänstnamnen för tjänster som ska hämtas. Jokertecken tillåts.

Typ:String[]
Alias:ServiceName
Position:0
Standardvärde:None
Obligatorisk:False
Godkänn pipeline-indata:True
Godkänn jokertecken:True

-RequiredServices

Anger att den här cmdleten endast hämtar de tjänster som krävs för den här tjänsten. Den här parametern hämtar värdet för servicesDependedOn-egenskapen för tjänsten.

Typ:SwitchParameter
Alias:SDO, ServicesDependedOn
Position:Named
Standardvärde:False
Obligatorisk:False
Godkänn pipeline-indata:False
Godkänn jokertecken:True

Indata

ServiceController

Du kan skicka ett tjänstobjekt till den här cmdleten.

String

Du kan skicka ett tjänstnamn till den här cmdleten.

Utdata

ServiceController

Den här cmdleten returnerar objekt som representerar tjänsterna på datorn.

Kommentarer

Windows PowerShell innehåller följande alias för Get-Service:

  • gsv

Den här cmdleten kan endast visa tjänster när den aktuella användaren har behörighet att se dem. Om den här cmdleten inte visar tjänster kanske du inte har behörighet att se dem.

Om du vill hitta tjänstnamnet och visningsnamnet för varje tjänst i systemet skriver du Get-Service. Tjänstnamnen visas i kolumnen Namn och visningsnamnen visas i kolumnen DisplayName .

Kommentar

Get-Service Returnerar vanligtvis information om tjänster och inte drivrutin. Men om du anger namnet på en drivrutin Get-Service returnerar information om drivrutinen.

  • Uppräkning omfattar inte enhetsdrivrutinstjänster
  • När ett jokertecken anges returnerar cmdleten endast Windows-tjänster
  • Om du anger namn eller visningsnamn som är en exakt matchning till ett enhetstjänstnamn returneras enhetsinstansen

När du sorterar i stigande ordning efter statusvärde Stopped visas tjänster före Running tjänster. Statusegenskapen för en tjänst är ett uppräknat värde där namnen på statusarna representerar heltalsvärden. Sorteringen baseras på heltalsvärdet, inte namnet. Runningvisas tidigare Stopped eftersom har värdet 1, och Running har värdet 4Stopped . Mer information finns i ServiceControllerStatus.