Freigeben über


Restart-Service

Beendet Dienste und startet diese anschließend.

Syntax

Restart-Service
       [-Force]
       [-InputObject] <ServiceController[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-Service
       [-Force]
       [-Name] <String[]>
       [-PassThru]
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]
Restart-Service
       [-Force]
       [-PassThru]
       -DisplayName <String[]>
       [-Include <String[]>]
       [-Exclude <String[]>]
       [-WhatIf]
       [-Confirm]
       [<CommonParameters>]

Beschreibung

Das Restart-Service Cmdlet sendet eine Stoppmeldung und dann eine Startnachricht an den Windows Service Controller für einen angegebenen Dienst. Wenn ein Dienst bereits beendet wurde, wird er gestartet, ohne dass ein Fehler ausgegeben wird. Sie können die Dienste anhand ihrer Dienstnamen oder Anzeigenamen angeben, oder Sie können den InputObject-Parameter verwenden, um ein Objekt zu übergeben, das jeden Dienst darstellt, den Sie neu starten möchten.

Beispiele

Beispiel 1: Neustarten eines Diensts auf dem lokalen Computer

PS C:\> Restart-Service -Name winmgmt

Mit diesem Befehl wird der WMI-Dienst (WinMgmt) auf dem lokalen Computer neu gestartet.

Beispiel 2: Ausschließen eines Diensts

PS C:\> Restart-Service -DisplayName "net*" -Exclude "net logon"

Mit diesem Befehl werden die Dienste neu gestartet, die einen Anzeigenamen aufweisen, der mit Net beginnt, mit Ausnahme des Net-Anmeldediensts.

Beispiel 3: Starten aller beendeten Netzwerkdienste

PS C:\> Get-Service -Name "net*" | Where-Object {$_.Status -eq "Stopped"} | Restart-Service

Mit diesem Befehl werden alle beendeten Netzwerkdienste auf dem Computer gestartet.

Dieser Befehl verwendet das Get-Service Cmdlet, um Objekte abzurufen, die die Dienste darstellen, deren Dienstname mit net beginnt. Der Pipelineoperator (|) sendet das Dienstobjekt an das Where-Object Cmdlet, das nur die Dienste auswählt, die einen Status des Beendens aufweisen. Ein anderer Pipelinebetreiber sendet die ausgewählten Dienste an Restart-Service.

In der Praxis würden Sie den WhatIf-Parameter verwenden, um die Wirkung des Befehls zu bestimmen, bevor Sie ihn ausführen.

Parameter

-Confirm

Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-DisplayName

Gibt die Anzeigenamen der dienste an, die neu gestartet werden sollen. Platzhalterzeichen sind zulässig.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-Exclude

Gibt Dienste an, die von diesem Cmdlet weggelassen werden. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder ein Muster ein, z. B. s*. Platzhalterzeichen sind zulässig.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-Force

Erzwingt die Ausführung des Befehls ohne Aufforderung zur Bestätigung durch den Benutzer.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Include

Gibt Dienste an, die dieses Cmdlet neu startet. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder ein Muster ein, z. B. s*. Platzhalterzeichen sind zulässig.

Typ:String[]
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:True

-InputObject

Gibt ServiceController-Objekte an, die die zu startenden Dienste darstellen. Geben Sie eine Variable ein, die die Objekte enthält, oder geben Sie einen Befehl oder einen Ausdruck ein, mit dem die Objekte abgerufen werden.

Typ:ServiceController[]
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-Name

Gibt die Dienstnamen der dienste an, die neu gestartet werden sollen.

Typ:String[]
Aliase:ServiceName
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:True

-PassThru

Gibt ein Objekt zurück, das den Dienst darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.

Typ:SwitchParameter
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.

Typ:SwitchParameter
Aliase:wi
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

Eingaben

ServiceController

Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.

String

Sie können eine Zeichenfolge, die einen Dienstnamen enthält, an dieses Cmdlet weiterleiten.

Ausgaben

None

Standardmäßig gibt dieses Cmdlet keine Ausgabe zurück.

ServiceController

Wenn Sie den PassThru-Parameter verwenden, gibt dieses Cmdlet ein ServiceController-Objekt zurück, das den neu gestarteten Dienst darstellt.

Hinweise

  • Restart-Service kann Dienste nur steuern, wenn der aktuelle Benutzer über die Berechtigung verfügt, dies zu tun. Wenn ein Befehl nicht ordnungsgemäß verarbeitet wird, verfügen Sie u. U. nicht über die erforderlichen Berechtigungen.
  • Um die Dienstnamen und Anzeigenamen der Dienste in Ihrem System zu finden, geben Sie Get-Service". Die Dienstnamen werden in der Spalte "Name " angezeigt, und die Anzeigenamen werden in der Spalte "DisplayName " angezeigt.