Set-Service
Startet, stoppt und unterbricht einen Dienst und ändert dessen Eigenschaften.
Syntax
Name (Standardwert)
Set-Service
[-Name] <String>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-Status <String>]
[-SecurityDescriptorSddl <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
InputObject
Set-Service
[-InputObject] <ServiceController>
[-DisplayName <String>]
[-Credential <PSCredential>]
[-Description <String>]
[-StartupType <ServiceStartupType>]
[-SecurityDescriptorSddl <String>]
[-Status <String>]
[-Force]
[-PassThru]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Dieses Cmdlet ist nur auf der Windows-Plattform verfügbar.
Das cmdlet Set-Service
ändert die Eigenschaften eines Diensts wie Status, Description, DisplayNameund StartupType.
Set-Service
kann einen Dienst starten, beenden, aussetzen oder pausieren. Um einen Dienst zu identifizieren, geben Sie den Dienstnamen ein, oder senden Sie ein Dienstobjekt. Oder senden Sie einen Dienstnamen oder ein Dienstobjekt durch die Pipeline an Set-Service
.
Beispiele
Beispiel 1: Ändern eines Anzeigenamens
In diesem Beispiel wird der Anzeigename eines Diensts geändert. Verwenden Sie Get-Service
, um den ursprünglichen Anzeigenamen anzuzeigen.
Set-Service -Name LanmanWorkstation -DisplayName "LanMan Workstation"
Set-Service
verwendet den Parameter Name, um den Namen des Diensts anzugeben, LanmanWorkstation. Der parameter DisplayName gibt den neuen Anzeigenamen LanMan Workstationan.
Beispiel 2: Ändern des Starttyps von Diensten
In diesem Beispiel wird gezeigt, wie Sie den Starttyp eines Diensts ändern.
Set-Service -Name BITS -StartupType Automatic
Get-Service BITS | Select-Object -Property Name, StartType, Status
Name StartType Status
---- --------- ------
BITS Automatic Running
Set-Service
verwendet den Parameter Name, um den Namen des Diensts anzugeben, BITS-. Der parameter StartupType legt den Dienst auf Automaticfest.
Get-Service
verwendet den Parameter Name, um den BITS--Dienst anzugeben und das Objekt an die Pipeline zu senden.
Select-Object
verwendet den Parameter Property, um den Status des BITS Diensts anzuzeigen.
Beispiel 3: Ändern der Beschreibung eines Diensts
In diesem Beispiel wird die Beschreibung des BITS-Diensts geändert und das Ergebnis angezeigt.
Das cmdlet Get-CimInstance
wird verwendet, da es ein Win32_Service-Objekt zurückgibt, das die Descriptiondes Diensts enthält.
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth. If the service is
disabled, then any applications that depend on BITS, such as Windows Update or MSN
Explorer, will be unable to automatically download programs and other information.
Set-Service -Name BITS -Description "Transfers files in the background using idle network bandwidth."
Get-CimInstance Win32_Service -Filter 'Name = "BITS"' | Format-List Name, Description
Name : BITS
Description : Transfers files in the background using idle network bandwidth.
Get-CimInstance
sendet das Objekt an Format-List
und zeigt den Namen und die Beschreibung des Diensts an. Für Vergleichszwecke wird der Befehl vor und nach der Aktualisierung der Beschreibung ausgeführt.
Set-Service
verwendet den Parameter Name, um den BITS--Dienst anzugeben. Der parameter Description gibt den aktualisierten Text für die Beschreibung der Dienste an.
Beispiel 4: Starten eines Diensts
In diesem Beispiel wird ein Dienst gestartet.
Set-Service -Name WinRM -Status Running -PassThru
Status Name DisplayName
------ ---- -----------
Running WinRM Windows Remote Management (WS-Manag...
Set-Service
verwendet den Parameter Name, um den Dienst anzugeben, WinRM-. Der Parameter Status verwendet den Wert Running, um den Dienst zu starten. Der PassThru Parameter gibt ein ServiceController--Objekt aus, das die Ergebnisse anzeigt.
Beispiel 5: Unterbrechen eines Dienstes
In diesem Beispiel wird die Pipeline verwendet, um für Wartungsarbeiten eine Pause einzulegen.
Get-Service -Name Schedule | Set-Service -Status Paused
Get-Service
verwendet den Parameter Name, um den Schedule-Dienst anzugeben und das Objekt an die Pipeline zu senden.
Set-Service
verwendet den Parameter Status, um den Dienst in den Status Angehaltenzu versetzen.
Beispiel 6: Beenden eines Diensts
In diesem Beispiel wird eine Variable verwendet, um einen Dienst zu beenden.
$S = Get-Service -Name Schedule
Set-Service -InputObject $S -Status Stopped
Get-Service
verwendet den Parameter Name, um den Dienst anzugeben, Schedule. Das Objekt wird in der Variablen $S
gespeichert.
Set-Service
verwendet den parameter InputObject und gibt das $S
gespeicherte Objekt an. Der parameter Status legt den Dienst auf Stoppedfest.
Beispiel 7: Beenden eines Diensts auf einem Remotesystem
In diesem Beispiel wird ein Dienst auf einem Remotecomputer beendet. Weitere Informationen finden Sie unter Invoke-Command.
$Cred = Get-Credential
$S = Get-Service -Name Schedule
Invoke-Command -ComputerName server01.contoso.com -Credential $Cred -ScriptBlock {
Set-Service -InputObject $S -Status Stopped
}
Get-Credential
fordert zur Eingabe eines Benutzernamens und Kennworts auf und speichert die Anmeldeinformationen in der Variable $Cred
.
Get-Service
verwendet den Parameter Name, um den Schedule-Dienst anzugeben. Das Objekt wird in der Variablen $S
gespeichert.
Invoke-Command
verwendet den Parameter ComputerName, um einen Remotecomputer anzugeben. Der Parameter Credential verwendet die variable $Cred
, um sich beim Computer anzumelden. Der ScriptBlock ruft Set-Service
auf. Der parameter InputObject gibt das $S
gespeicherte Dienstobjekt an. Der parameter Status legt den Dienst auf Stoppedfest.
Beispiel 8: Ändern der Anmeldeinformationen eines Diensts
In diesem Beispiel werden die Anmeldeinformationen geändert, die zum Verwalten eines Diensts verwendet werden.
$credential = Get-Credential
Set-Service -Name Schedule -Credential $credential
Get-Credential
fordert zur Eingabe eines Benutzernamens und Kennworts auf und speichert die Anmeldeinformationen in der Variable $credential
.
Set-Service
verwendet den Parameter Name, um den Schedule-Dienst anzugeben. Der Parameter Credential verwendet die variable $credential
und aktualisiert den Schedule-Dienst.
Beispiel 9: Ändern des SecurityDescriptors eines Diensts
In diesem Beispiel wird der SecurityDescriptoreines Diensts geändert.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
Set-Service -Name "BITS" -SecurityDescriptorSddl $SDDL
Der SecurityDescriptor- wird in der $SDDL
Variablen gespeichert.
Set-Service
verwendet den Parameter Name, um den BITS--Dienst anzugeben. Der SecurityDescriptorSddl Parameter verwendet $SDDL
, um den SecurityDescriptor- für den BITS- Dienst zu ändern.
Beispiel 10: Festlegen des Starttyps für mehrere Dienste
Das Cmdlet Set-Service
akzeptiert jeweils nur einen Dienstnamen. Sie können jedoch mehrere Dienste an Set-Service
leiten, um die Konfiguration mehrerer Dienste zu ändern.
Get-Service SQLWriter,spooler |
Set-Service -StartupType Automatic -PassThru |
Select-Object Name, StartType
Name StartType
---- ---------
spooler Automatic
SQLWriter Automatic
Parameter
-Confirm
Fordert Sie zur Bestätigung auf, bevor Set-Service
ausgeführt wird.
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 |
-Credential
Gibt das vom Dienst verwendete Konto als Dienstanmeldungskontoan.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, z. B. ein objekt, das vom Cmdlet Get-Credential
generiert wird. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet aufgefordert, ein Kennwort einzugeben.
Anmeldeinformationen werden in einem PSCredential-Objekt gespeichert, und das Kennwort wird als SecureString-gespeichert.
Hinweis
Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.
Dieser Parameter wurde in PowerShell 6.0 eingeführt.
Parametereigenschaften
Typ: | PSCredential |
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 |
-Description
Gibt eine neue Beschreibung für den Dienst an.
Die Dienstbeschreibung wird in Computerverwaltung, Diensteangezeigt. Die Description- ist keine Eigenschaft des Get-Service
ServiceController--Objekts. Um die Dienstbeschreibung anzuzeigen, verwenden Sie Get-CimInstance
, die ein Win32_Service-Objekt zurückgibt, das den Dienst darstellt.
Parametereigenschaften
Typ: | String |
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 |
-DisplayName
Gibt einen neuen Anzeigenamen für den Dienst an.
Hinweis
In der Regel wird Set-Service
nur für Windows-Dienste und nicht für Treiber verwendet. Wenn Sie jedoch den Namen eines Treibers angeben, kann Set-Service
den Treiber als Ziel festlegen.
Parametereigenschaften
Typ: | String |
Standardwert: | None |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | DN |
Parametersätze
(All)
Position: | Named |
Obligatorisch.: | False |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
-Force
Gibt den Stoppmodus des Diensts an. Dieser Parameter funktioniert nur, wenn -Status Stopped
verwendet wird. Wenn diese Option aktiviert ist, beendet Set-Service
die abhängigen Dienste, bevor der Zieldienst beendet wird. Standardmäßig werden Ausnahmen ausgelöst, wenn andere ausgeführte Dienste vom Zieldienst abhängen.
Parametereigenschaften
Typ: | SwitchParameter |
Standardwert: | False |
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 |
-InputObject
Gibt ein ServiceController- -Objekt an, das den zu ändernden Dienst darstellt. Geben Sie eine Variable ein, die das Objekt enthält, oder geben Sie einen Befehl oder Ausdruck ein, der das Objekt abruft, z. B. einen Get-Service
-Befehl. Sie können die Pipeline verwenden, um ein Dienstobjekt an Set-Service
zu senden.
Parametereigenschaften
Typ: | ServiceController |
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 den Dienstnamen des zu ändernden Diensts an. Platzhalterzeichen sind nicht erlaubt. Sie können die Pipeline verwenden, um einen Dienstnamen an Set-Service
zu senden.
Hinweis
In der Regel wird Set-Service
nur für Windows-Dienste und nicht für Treiber verwendet. Wenn Sie jedoch den Namen eines Treibers angeben, kann Set-Service
den Treiber als Ziel festlegen.
Parametereigenschaften
Typ: | String |
Standardwert: | None |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | Dienstname, SN |
Parametersätze
Name
Position: | 0 |
Obligatorisch.: | True |
Wert aus Pipeline: | True |
Wert aus Pipeline nach dem Eigenschaftsnamen: | True |
Wert aus verbleibenden Argumenten: | False |
-PassThru
Gibt ein ServiceController- -Objekt zurück, das die geänderten Dienste darstellt. Standardmäßig generiert Set-Service
keine Ausgabe.
Parametereigenschaften
Typ: | SwitchParameter |
Standardwert: | False |
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 |
-SecurityDescriptorSddl
Gibt den SecurityDescriptor für den Dienst im SDDL-Format an. Das Konto, das Set-Service
mit diesem Parameter aufruft, muss über die berechtigungen WRITE_DAC und WRITE_OWNER verfügen. Weitere Informationen finden Sie unter Dienstsicherheit und Zugriffsberechtigungen.
Parametereigenschaften
Typ: | String |
Standardwert: | None |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | Sd |
Parametersätze
(All)
Position: | Named |
Obligatorisch.: | False |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
-StartupType
Gibt den Startmodus des Diensts an.
Die zulässigen Werte für diesen Parameter sind wie folgt:
- Automatic – Der Dienst wird oder wurde beim Systemstart vom Betriebssystem gestartet. Wenn ein automatisch gestarteter Dienst von einem manuell gestarteten Dienst abhängt, wird der manuell gestartete Dienst auch automatisch beim Systemstart gestartet.
- AutomatischVerzögerterStart – Wird kurz nach dem Systemstart ausgeführt.
- Deaktiviert – Der Dienst ist deaktiviert und kann von einem Benutzer oder einer Anwendung nicht gestartet werden.
- InvalidValue – Hat keine Auswirkung. Das Cmdlet gibt keinen Fehler zurück, aber der StartupType des Diensts wird nicht geändert.
- Manuelle – Der Dienst wird nur manuell, von einem Benutzer, mithilfe des Dienststeuerungs-Managers oder einer Anwendung gestartet.
Parametereigenschaften
Typ: | ServiceStartupType |
Standardwert: | None |
Zulässige Werte: | Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual |
Unterstützt Platzhalter: | False |
Nicht anzeigen: | False |
Aliase: | StartMode, SM, ST, StartType |
Parametersätze
(All)
Position: | Named |
Obligatorisch.: | False |
Wert aus Pipeline: | False |
Wert aus Pipeline nach dem Eigenschaftsnamen: | False |
Wert aus verbleibenden Argumenten: | False |
-Status
Gibt den Status für den Dienst an.
Die zulässigen Werte für diesen Parameter sind wie folgt:
- Paused Hält den Dienst an.
- Running. Startet den Dienst.
- Stopped. Beendet den Dienst.
Parametereigenschaften
Typ: | String |
Standardwert: | None |
Zulässige Werte: | Paused, Running, Stopped |
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 Set-Service
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 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.
Hinweise
Dieses Cmdlet ist nur auf Windows-Plattformen verfügbar.
Set-Service
erfordert erhöhte Berechtigungen. Verwenden Sie die Option Als Administrator ausführen.
Set-Service
kann Dienste nur steuern, wenn der aktuelle Benutzer über Berechtigungen zum Verwalten von Diensten verfügt. Wenn ein Befehl nicht ordnungsgemäß funktioniert, verfügen Sie möglicherweise nicht über die erforderlichen Berechtigungen.
Verwenden Sie Get-Service
, um den Dienstnamen oder den Anzeigenamen eines Diensts zu suchen. Die Dienstnamen befinden sich in der Spalte Name, und die Anzeigenamen befinden sich in der Spalte DisplayName.