Startet einen oder mehrere beendete Dienste.
Syntax
Start-Service [-Name] <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [<CommonParameters>] Start-Service -DisplayName <string[]> [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [<CommonParameters>] Start-Service [-InputObject <ServiceController[]>] [-Exclude <string[]>] [-Include <string[]>] [-PassThru] [-Bestätigung] [-WhatIf] [<CommonParameters>]
Beschreibung
Mit dem Cmdlet "Start-Service" wird für jeden der angegebenen Dienste eine Startmeldung an den Windows-Dienstcontroller gesendet. Wenn ein Dienst bereits ausgeführt wird, wird die Meldung ignoriert, ohne dass ein Fehler ausgegeben wird. Sie können die Dienste mit ihren Dienstnamen oder Anzeigenamen angeben, oder Sie können mit dem InputObject-Parameter ein Dienstobjekt übergeben, das die zu startenden Dienste darstellt.
Parameter
-DisplayName <string[]>
Gibt die Anzeigenamen der zu startenden Dienste an. Platzhalter sind zulässig.
Erforderlich? |
true |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Exclude <string[]>
Lässt die angegebenen Dienste aus. Der Name-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Namenselement oder -muster wie "s*" ein. Platzhalter sind zulässig.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Include <string[]>
Startet nur die angegebenen Dienste. Der Name-Parameter wird durch den Wert dieses Parameters qualifiziert. Geben Sie ein Namenselement oder -muster wie "s*" ein. Platzhalter sind zulässig.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-InputObject <ServiceController[]>
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.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue) |
Platzhalterzeichen akzeptieren? |
false |
-Name <string[]>
Gibt die Dienstnamen der zu startenden Dienste an.
Der Parametername ist optional. Sie können "-Name" oder dessen Alias "-ServiceName" verwenden oder den Parameternamen auslassen.
Erforderlich? |
true |
Position? |
1 |
Standardwert |
|
Pipelineeingaben akzeptieren? |
true (ByValue, ByPropertyName) |
Platzhalterzeichen akzeptieren? |
false |
-PassThru
Gibt ein Objekt zurück, das den Dienst darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-Bestätigung
Fordert Sie vor der Ausführung des Befehls zur Bestätigung auf.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
-WhatIf
Beschreibt die Auswirkungen einer Ausführung des Befehls, ohne den Befehl tatsächlich auszuführen.
Erforderlich? |
false |
Position? |
named |
Standardwert |
|
Pipelineeingaben akzeptieren? |
false |
Platzhalterzeichen akzeptieren? |
false |
<CommonParameters>
Dieses Cmdlet unterstützt die folgenden allgemeinen Parameter: -Verbose, -Debug, -ErrorAction, -ErrorVariable, -OutBuffer und -OutVariable. Weitere Informationen finden Sie unter about_Commonparameters.
Eingaben und Ausgaben
Der Eingabetyp ist der Typ der Objekte, die über die Pipeline an das Cmdlet übergeben werden können. Der Rückgabetyp ist der Typ der Objekte, die das Cmdlet zurückgibt.
Eingaben |
System.ServiceProcess.ServiceController, System.String Sie können Objekte, die die Dienste oder Zeichenfolgen darstellen, die die Dienstnamen enthalten, über die Pipeline an Start-Service übergeben. |
Ausgaben |
Keiner oder System.ServiceProcess.ServiceController Wenn Sie den PassThru-Parameter verwenden, generiert Start-Service ein System.ServiceProcess.ServiceController-Objekt, das den Dienst darstellt. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert. |
Hinweise
Sie können auch über den integrierten Alias "sasv" auf Start-Service verweisen. Weitere Informationen finden Sie unter "about_Aliases".
Mit Start-Service können nur dann Dienste gesteuert werden, wenn der aktuelle Benutzer über die entsprechende Berechtigung verfügt. Wenn ein Befehl nicht ordnungsgemäß verarbeitet wird, verfügen Sie u. U. nicht über die erforderlichen Berechtigungen.
Geben Sie "Get-Service" ein, um die Dienstnamen und die Anzeigenamen der Dienste auf dem System zu suchen. Die Dienstnamen werden in der Spalte "Name" und die Anzeigenamen in der Spalte "DisplayName" aufgeführt.
Sie können nur Dienste starten, die den Starttyp "Manuell" oder "Automatisch" aufweisen. Dienste mit dem Starttyp "Deaktiviert" können nicht gestartet werden. Wenn bei der Verarbeitung des Befehls "Start-Service" ein Fehler mit der Fehlermeldung "Der Dienst <Dienstname> kann nicht auf dem Computer <Computername> gestartet werden" ausgegeben wird, bestimmen Sie mit dem Befehl "Get-WmiObject" den Starttyp des Diensts und ändern den Starttyp des Diensts ggf. mit dem Befehl "Set-Service".
Einige Dienste, beispielsweise der Dienst für Leistungsprotokolle und -warnungen (SysmonLog), werden automatisch beendet, wenn sie keine Vorgänge ausführen müssen. Wenn Windows PowerShell einen Dienst startet, der fast sofort wieder von selbst beendet wird, wird die folgende Meldung angezeigt: "Fehler beim Starten des Diensts <Anzeigename>."
Beispiel 1
C:\PS>start-service -name eventlog Beschreibung ----------- Mit diesem Befehl wird der Dienst "EventLog" auf dem lokalen Computer gestartet. Mit dem Name-Parameter wird der Dienst mit seinem Dienstnamen angegeben.
Beispiel 2
C:\PS>start-service -displayname *remote* -whatif Beschreibung ----------- Dieser Befehl zeigt, was geschieht, wenn Sie die Dienste mit einem Anzeigenamen starten, der "Remote" enthält. Dabei werden die Dienste mit dem DisplayName-Parameter über den Anzeigenamen und nicht über ihren Dienstnamen festgelegt. Außerdem wird mit dem WhatIf-Parameter veranschaulicht, was geschehen würde, wenn der Befehl ausgeführt würde, statt den Befehl tatsächlich auszuführen.
Beispiel 3
C:\PS>$s = get-service wmi C:\PS>start-service -InputObject $s -passthru | format-list >> services.txt Beschreibung ----------- Mit diesen Befehlen wird der WMI-Dienst (Windows Management Instrumentation, Windows-Verwaltungsinstrumentation) auf dem Computer gestartet, und die Aktion wird in der Datei "services.txt" aufgezeichnet. Im ersten Befehl wird mit dem Cmdlet "Get-Service" ein Objekt abgerufen, das den WMI-Dienst darstellt, und in der Variablen "$s" gespeichert. Im zweiten Befehl wird der WMI-Dienst mit dem Cmdlet "Start-Service" gestartet. Der Dienst wird mit dem InputObject-Parameter bestimmt, um die Variable "$s" mit dem WMI-Dienstobjekt an Start-Service zu übergeben. Anschließend wird mit dem PassThru-Parameter ein Objekt erstellt, das den Start des Diensts darstellt. Ohne diesen Parameter wird von Start-Service keine Ausgabe erzeugt. Mit dem Pipelineoperator (|) wird das von Start-Service erstellte Objekt an das Cmdlet "Format-List" übergeben, das das Objekt als Liste von Eigenschaften formatiert. Mit dem Anfüge- und Umleitungsoperator (>>) wird die Ausgabe in die Datei "services.txt" umgeleitet und an das Ende der vorhandenen Datei angefügt.
Beispiel 4
C:\PS># start-service Beschreibung ----------- Diese Reihe von Befehlen zeigt, wie ein Dienst gestartet wird, wenn der Starttyp des Diensts "Deaktiviert" lautet. Bei dem ersten Befehl, in dem mit dem Cmdlet "Start-Service" der Telnet-Dienst (tlntsvr) gestartet wird, tritt ein Fehler auf. C:\PS>start-service tlntsvr Start-Service: Der Dienst "Telnet (TlntSvr)" kann aufgrund des folgenden Fehlers nicht gestartet werden: Der Dienst "TlntSvr" kann nicht auf dem Computer "." gestartet werden. Bei Zeile:1 Zeichen:14 + start-service <<<< tlntsvr Im zweiten Befehl wird mit dem Cmdlet "Get-WmiObject" der Tlntsvr-Dienst abgerufen. Mit diesem Befehl wird ein Objekt mit der Starttypeigenschaft im Feld "StartMode" abgerufen. In der Ergebnisanzeige kann festgestellt werden, dass der Starttyp des Tlntsvr-Diensts "Deaktiviert" ist. C:\PS> get-wmiobject win32_service | where-object {$_.Name -eq "tlntsvr"} ExitCode : 0 Name : TlntSvr ProcessId : 0 StartMode : Disabled State : Stopped Status : OK Im nächsten Befehl wird mit dem Cmdlet "Set-Service" der Starttyp des Tlntsvr-Diensts in "Manuell" geändert. C:\PS> set-service tlntsvr -startuptype manual Nun kann der Befehl "Start-Service" erneut gesendet werden. Dieses Mal wird der Befehl ohne Fehler verarbeitet. C:\PS> start-service tlntsvr Um die erfolgreiche Ausführung des Befehls zu überprüfen, verwenden Sie Get-Service.
Siehe auch