Start-Service
Startet einen oder mehrere beendete Dienste.
Syntax
InputObject (Standard)
Start-Service
[-InputObject] <ServiceController[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Default
Start-Service
[-Name] <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
DisplayName
Start-Service
-DisplayName <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet Start-Service sendet eine Startnachricht für jeden der angegebenen Dienste an den Windows Service Controller. Wenn ein Dienst bereits ausgeführt wird, wird die Nachricht ohne Fehler ignoriert. Sie können die Dienste anhand ihrer Dienstnamen oder Anzeigenamen angeben, oder Sie können den parameter InputObject verwenden, um ein Dienstobjekt bereitzustellen, das die Dienste darstellt, die Sie starten möchten.
Beispiele
Beispiel 1: Starten eines Diensts mithilfe des Namens
In diesem Beispiel wird der EventLog-Dienst auf dem lokalen Computer gestartet. Der parameter Name identifiziert den Dienst anhand des Dienstnamens.
Start-Service -Name "eventlog"
Beispiel 2: Anzeigen von Informationen ohne Starten eines Diensts
In diesem Beispiel wird gezeigt, was geschieht, wenn Sie die Dienste gestartet haben, die einen Anzeigenamen haben, der "remote" enthält.
Start-Service -DisplayName *remote* -WhatIf
Der parameter DisplayName identifiziert die Dienste anhand ihres Anzeigenamens anstelle des Dienstnamens. Der WhatIf-Parameter bewirkt, dass das Cmdlet anzeigt, was beim Ausführen des Befehls passiert, aber keine Änderungen vornimmt.
Beispiel 3: Starten eines Diensts und Aufzeichnen der Aktion in einer Textdatei
In diesem Beispiel wird der WMI-Dienst (Windows Management Instrumentation) auf dem Computer gestartet und der services.txt Datei ein Datensatz der Aktion hinzugefügt.
$s = Get-Service wmi
Start-Service -InputObject $s -PassThru | Format-List >> services.txt
Zunächst verwenden wir Get-Service, um ein Objekt abzurufen, das den WMI-Dienst darstellt, und speichern es in der $s Variablen. Als Nächstes starten wir den Dienst. Ohne den PassThru Parameter erstellt Start-Service keine Ausgabe. Der Pipelineoperator (|) übergibt die Objektausgabe von Start-Service an das Cmdlet Format-List, um das Objekt als Liste seiner Eigenschaften zu formatieren. Der Anfügeumleitungsoperator (>>) leitet die Ausgabe an die services.txt Datei um. Die Ausgabe wird am Ende der vorhandenen Datei hinzugefügt.
Beispiel 4: Starten eines deaktivierten Diensts
In diesem Beispiel wird gezeigt, wie ein Dienst gestartet wird, wenn der Starttyp des Diensts Deaktiviertist.
PS> Start-Service tlntsvr
Start-Service : Service 'Telnet (TlntSvr)' cannot be started due to the following error: Cannot start service TlntSvr on computer '.'.
At line:1 char:14
+ Start-Service <<<< tlntsvr
PS> Get-CimInstance Win32_Service | Where-Object Name -EQ "tlntsvr"
ExitCode : 0
Name : TlntSvr
ProcessId : 0
StartMode : Disabled
State : Stopped
Status : OK
PS> Set-Service tlntsvr -StartupType manual
PS> Start-Service tlntsvr
Der erste Versuch, den Telnet-Dienst (tlntsvr) zu starten, schlägt fehl. Der befehl Get-CimInstance zeigt, dass die StartMode-Eigenschaft des Tlntsvr-Diensts Disabledist. Das cmdlet Set-Service ändert den Starttyp in Manuellen. Jetzt können wir den Befehl Start-Service erneut übermitteln. Dieses Mal ist der Befehl erfolgreich. Führen Sie Get-Serviceaus, um zu überprüfen, ob der Befehl erfolgreich war.
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Sie das Cmdlet ausführen.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | vgl |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-DisplayName
Gibt die Anzeigenamen der zu startenden Dienste an. Platzhalterzeichen sind zulässig.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
DisplayName
| Position: | Named |
| Obligatorisch: | True |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Exclude
Gibt Dienste an, die von diesem Cmdlet weggelassen werden. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder Einmuster ein, z. B. s*. Platzhalterzeichen sind zulässig.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Include
Gibt Dienste an, die dieses Cmdlet startet. Der Wert dieses Parameters qualifiziert den parameter Name. Geben Sie ein Namenselement oder Einmuster ein, z. B. s*. Platzhalterzeichen sind zulässig.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | True |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-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 Ausdruck ein, der die Objekte ermittelt.
Parametereigenschaften
| Typ: | |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
InputObject
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-Name
Gibt die Dienstnamen für den zu startenden Dienst an.
Der Parametername ist optional. Sie können Name oder dessen Alias, ServiceName-verwenden oder den Parameternamen weglassen.
Parametereigenschaften
| Typ: | String[] |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Dienstname |
Parametersätze
Default
| Position: | 0 |
| Obligatorisch: | True |
| Wert aus Pipeline: | True |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
| Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein Objekt zurück, das den Dienst darstellt. Standardmäßig generiert dieses Cmdlet keine Ausgabe.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | None |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
-WhatIf
Zeigt, was passiert, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Parametereigenschaften
| Typ: | SwitchParameter |
| Standardwert: | False |
| Unterstützt Platzhalter: | False |
| Nicht anzeigen: | False |
| Aliase: | Wi |
Parametersätze
(All)
| Position: | Named |
| Obligatorisch: | False |
| Wert aus Pipeline: | False |
| Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
| Wert aus verbleibenden Argumenten: | False |
CommonParameters
Dieses Cmdlet unterstützt die allgemeinen Parameter -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction und -WarningVariable. Weitere Informationen findest du unter about_CommonParameters.
Eingaben
ServiceController
Sie können ein Dienstobjekt an dieses Cmdlet weiterleiten.
String
Sie können eine Zeichenfolge, die den 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 Dienst darstellt.
Hinweise
Windows PowerShell enthält die folgenden Aliase für Start-Service:
sasvStandardmäßig können nur Mitglieder der Gruppe "Administratoren" einen Dienst starten, beenden, anhalten, fortsetzen oder neu starten. Wenn Sie Mitglied der Gruppe "Administratoren" sind, müssen Sie
Start-Serviceaus einer PowerShell-Sitzung mit erhöhten Rechten ausführen. Verwenden Sie die Option Als Administrator ausführen, um PowerShell zu starten.Geben Sie
Get-Serviceein, um die Dienstnamen und Anzeigenamen der Dienste in Ihrem System zu finden. Die Dienstnamen werden in der Spalte Name angezeigt, und die Anzeigenamen werden in der Spalte DisplayName angezeigt.Sie können nur die Dienste starten, die über einen Starttyp von "Manuell", "Automatisch" oder "Automatisch" verfügen (verzögerter Start). Sie können die Dienste, die über einen Starttyp "Deaktiviert" verfügen, nicht starten. Wenn ein
Start-ServiceBefehl mit der MeldungCannot start service \<service-name\> on computerfehlschlägt, verwenden SieGet-CimInstance, um den Starttyp des Diensts zu finden, und verwenden Sie ggf. das cmdletSet-Service, um den Starttyp des Diensts zu ändern.Einige Dienste, z. B. Leistungsprotokolle und Benachrichtigungen (SysmonLog), werden automatisch beendet, wenn sie keine Arbeit ausführen müssen. Wenn PowerShell einen Dienst startet, der sich fast sofort anhält, wird die folgende Meldung angezeigt:
Service \<display-name\> start failed.