Start-Service
Startet beendete Dienste.
Syntax
Start-Service
[-InputObject] <ServiceController[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Service
[-Name] <String[]>
[-PassThru]
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Start-Service
[-PassThru]
-DisplayName <String[]>
[-Include <String[]>]
[-Exclude <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das Start-Service
Cmdlet sendet eine Startnachricht an den Windows Service Controller für jeden der angegebenen Dienste. Wenn ein Dienst bereits ausgeführt wird, wird die Meldung ignoriert, ohne dass ein Fehler ausgegeben wird. Sie können die Dienste anhand ihrer Dienstnamen oder Anzeigenamen angeben oder den InputObject-Parameter verwenden, um ein Dienstobjekt bereitzustellen, das die zu startenden Dienste darstellt.
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 seines Dienstnamens.
Start-Service -Name "eventlog"
Beispiel 2: Anzeigen von Informationen ohne Starten eines Diensts
In diesem Beispiel wird gezeigt, was auftreten würde, wenn Sie die Dienste gestartet haben, die einen Anzeigenamen haben, der "Remote" enthält.
Start-Service -DisplayName *remote* -WhatIf
Der DisplayName-Parameter identifiziert die Dienste anhand des Anzeigenamens anstelle des Dienstnamens. Der WhatIf-Parameter bewirkt, dass das Cmdlet anzeigt, was passiert, wenn Sie den Befehl ausführen, aber keine Änderungen vornehmen.
Beispiel 3: Starten eines Diensts und Aufzeichnen der Aktion in einer Textdatei
In diesem Beispiel wird der Windows-Verwaltungsinstrumentationsdienst (WMI) 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 wird ein Get-Service
Objekt abgerufen, das den WMI-Dienst darstellt und in der $s
Variablen speichert. Als Nächstes starten wir den Dienst. Ohne den PassThru-ParameterStart-Service
wird keine Ausgabe erstellt. Der Pipelineoperator (|
) übergibt die Objektausgabe an Start-Service
das Format-List
Cmdlet, 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 Sie einen Dienst starten, wenn der Starttyp des Diensts deaktiviert ist.
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 Get-CimInstance
Befehl zeigt, dass die StartMode-Eigenschaft des Tlntsvr-Diensts deaktiviert ist. Das Set-Service
Cmdlet ändert den Starttyp in "Manuell". Jetzt können wir den Start-Service
Befehl erneut übermitteln. Dieses Mal wird der Befehl ohne Fehler verarbeitet. Führen Sie die Ausführung aus Get-Service
, um zu überprüfen, ob der Befehl erfolgreich war.
Parameter
-Confirm
Hiermit werden Sie vor der Ausführung des Cmdlets zur Bestätigung aufgefordert.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Gibt die Anzeigenamen der zu startenden Dienste an. Platzhalterzeichen sind zulässig.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | 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 s*
. B. . Platzhalterzeichen sind zulässig.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | True |
-Include
Gibt Dienste an, die dieses Cmdlet startet. Der Wert dieses Parameters qualifiziert den Name-Parameter . Geben Sie ein Namenselement oder ein Muster ein, z s*
. B. . Platzhalterzeichen sind zulässig.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | 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.
Type: | ServiceController[] |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Name
Gibt die Dienstnamen für die zu startenden Dienste an.
Der Parametername ist optional. Sie können den Namen oder seinen Alias, ServiceName verwenden oder den Parameternamen weglassen.
Type: | String[] |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-PassThru
Gibt ein Objekt zurück, das den Dienst darstellt. Standardmäßig wird von diesem Cmdlet keine Ausgabe generiert.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Zeigt, was geschieht, wenn das Cmdlet ausgeführt wird. Das Cmdlet wird nicht ausgeführt.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Eingaben
System.ServiceProcess.ServiceController, System.String
Sie können Objekte weiterleiten, die die Dienste oder Zeichenfolgen darstellen, die die Dienstnamen für dieses Cmdlet enthalten.
Ausgaben
None, System.ServiceProcess.ServiceController
Dieses Cmdlet generiert ein System.ServiceProcess.ServiceController -Objekt, das den Dienst darstellt, wenn Sie PassThru angeben. Andernfalls wird von diesem Cmdlet keine Ausgabe generiert.
Hinweise
Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.
- Sie können sich auch auf den integrierten Alias beziehen
Start-Service
.sasv
Weitere Informationen finden Sie unter about_Aliases. Start-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 den
Get-Service
Namen ein. 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 (Verzögerter Start) verfügen. Sie können die Dienste nicht starten, die über einen Starttyp von "Deaktiviert" verfügen. Wenn ein
Start-Service
Befehl mit der NachrichtCannot start service \<service-name\> on computer
fehlschlägt, suchenGet-CimInstance
Sie den Starttyp des Diensts, und verwenden Sie bei Bedarf dasSet-Service
Cmdlet, um den Starttyp des Diensts zu ändern. - Einige Dienste, beispielsweise der Dienst für Leistungsprotokolle und -warnungen (SysmonLog), werden automatisch beendet, wenn sie keine Vorgänge ausführen müssen. Wenn PowerShell einen Dienst startet, der fast sofort beendet wird, wird die folgende Meldung angezeigt:
Service \<display-name\> start failed.