Freigeben über


Set-Service

Startet, stoppt und hält einen Dienst an und ändert seine Eigenschaften.

Syntax

Set-Service
   [-Name] <String>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-Status <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Set-Service
   [-InputObject] <ServiceController>
   [-DisplayName <String>]
   [-Credential <PSCredential>]
   [-Description <String>]
   [-StartupType <ServiceStartupType>]
   [-Status <String>]
   [-Force]
   [-PassThru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Beschreibung

Das cmdlet Set-Service ändert die Eigenschaften eines Diensts wie Status, Description, DisplayNameund StartupType. Set-Service können einen Dienst starten, beenden, anhalten oder anhalten. Um einen Dienst zu identifizieren, geben Sie den Dienstnamen ein, oder senden Sie ein Dienstobjekt. Oder senden Sie einen Dienstnamen oder ein Dienstobjekt an die Pipeline, um 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 Ausführen, um den Dienst zu starten. Der PassThru Parameter gibt ein ServiceController--Objekt aus, das die Ergebnisse anzeigt.

Beispiel 5: Anhalten eines Diensts

In diesem Beispiel wird die Pipeline verwendet, um den Dienst anzuhalten.

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 auf Angehaltenefestzulegen.

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 $Sgespeichert. Set-Service verwendet den parameter InputObject und gibt das $Sgespeicherte 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 zur Eingabe eines Benutzernamens und Kennworts auf und speichert die Anmeldeinformationen in der variablen $Cred. Get-Service verwendet den Parameter Name, um den Schedule-Dienst anzugeben. Das Objekt wird in der Variablen $Sgespeichert.

Invoke-Command verwendet den Parameter ComputerName, um einen Remotecomputer anzugeben. Der Parameter Credential verwendet die variable $Cred, um sich beim Computer anzumelden. Die ScriptBlock- ruft Set-Serviceauf. Der parameter InputObject gibt das $Sgespeicherte 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 zur Eingabe eines Benutzernamens und Kennworts auf und speichert die Anmeldeinformationen in der variablen $credential. Set-Service verwendet den Parameter Name, um den Schedule-Dienst anzugeben. Der Parameter Credential verwendet die variable $credential und aktualisiert den Schedule-Dienst.

Parameter

-Confirm

Fordert Sie zur Bestätigung auf, bevor Sie Set-Serviceausführen.

Typ:SwitchParameter
Aliase:cf
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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.

Anmerkung

Weitere Informationen zu SecureString Datenschutz finden Sie unter Wie sicher ist SecureString?.

Dieser Parameter wurde in PowerShell 6.0 eingeführt.

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

-Description

Gibt eine neue Beschreibung für den Dienst an.

Die Dienstbeschreibung wird in Computerverwaltung, Diensteangezeigt. Die Description- ist keine Eigenschaft des Get-ServiceServiceController--Objekts. Um die Dienstbeschreibung anzuzeigen, verwenden Sie Get-CimInstance, die ein Win32_Service-Objekt zurückgibt, das den Dienst darstellt.

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

-DisplayName

Gibt einen neuen Anzeigenamen für den Dienst an.

Typ:String
Aliase:DN
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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.

Typ:SwitchParameter
Position:Named
Standardwert:False
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren: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-Servicezu senden.

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

-Name

Gibt den Dienstnamen des zu ändernden Diensts an. Wildcardzeichen sind nicht zulässig. Sie können die Pipeline verwenden, um einen Dienstnamen an Set-Servicezu senden.

Typ:String
Aliase:ServiceName, SN
Position:0
Standardwert:None
Erforderlich:True
Pipelineeingabe akzeptieren:True
Platzhalterzeichen akzeptieren:False

-PassThru

Gibt ein ServiceController- -Objekt zurück, das die geänderten Dienste darstellt. Standardmäßig generiert Set-Service keine Ausgabe.

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

-StartupType

Gibt den Startmodus des Diensts an.

Die zulässigen Werte für diesen Parameter sind wie folgt:

  • Automatische – Der Dienst wird gestartet oder vom Betriebssystem gestartet, beim Systemstart. Wenn ein automatisch gestarteter Dienst von einem manuell gestarteten Dienst abhängt, wird der manuell gestartete Dienst auch automatisch beim Systemstart gestartet.
  • AutomaticDelayedStart- – Wird kurz nach dem Systemstart gestartet.
  • 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.
Typ:ServiceStartupType
Aliase:StartMode, SM, ST
Zulässige Werte:Automatic, AutomaticDelayedStart, Disabled, InvalidValue, Manual
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-Status

Gibt den Status für den Dienst an.

Die zulässigen Werte für diesen Parameter sind wie folgt:

  • angehalten. Hält den Dienst an.
  • Wirdausgeführt. Startet den Dienst.
  • beendet . Beendet den Dienst.
Typ:String
Zulässige Werte:Paused, Running, Stopped
Position:Named
Standardwert:None
Erforderlich:False
Pipelineeingabe akzeptieren:False
Platzhalterzeichen akzeptieren:False

-WhatIf

Zeigt, was passiert, wenn Set-Service 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

System.ServiceProcess.ServiceController, System.String

Sie können die Pipeline verwenden, um ein Dienstobjekt oder eine Zeichenfolge zu senden, die einen Dienstnamen enthält, um Set-Service.

Ausgaben

ServiceController

Standardmäßig gibt Set-Service keine Objekte zurück. Verwenden Sie den PassThru Parameter, um ein ServiceController--Objekt auszugeben.

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 können 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.