Freigeben über


New-Service

Erstellt einen neuen Windows-Dienst.

Syntax

Default (Standard)

New-Service
    [-Name] <String>
    [-BinaryPathName] <String>
    [-DisplayName <String>]
    [-Description <String>]
    [-StartupType <ServiceStartMode>]
    [-Credential <PSCredential>]
    [-DependsOn <String[]>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Beschreibung

Mit dem Cmdlet New-Service wird ein neuer Eintrag für einen Windows-Dienst in der Registrierung und in der Dienstdatenbank erstellt. Ein neuer Dienst erfordert eine ausführbare Datei, die während des Diensts ausgeführt wird.

Mit den Parametern dieses Cmdlets können Sie den Anzeigenamen, die Beschreibung, den Starttyp und die Abhängigkeiten des Diensts festlegen.

Beispiele

Beispiel 1: Erstellen eines Diensts

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"

Mit diesem Befehl wird ein Dienst namens TestService erstellt.

Beispiel 2: Erstellen eines Diensts mit Beschreibung, Starttyp und Anzeigename

PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs" -DependsOn NetLogon -DisplayName "Test Service" -StartupType Manual -Description "This is a test service."

Mit diesem Befehl wird ein Dienst namens TestService erstellt. Er verwendet die Parameter von New-Service , um eine Beschreibung, einen Starttyp und einen Anzeigenamen für den neuen Dienst anzugeben.

Beispiel 3: Anzeigen des neuen Diensts

PS C:\> Get-WmiObject win32_service -Filter "name='testservice'"
ExitCode  : 0
Name      : testservice
ProcessId : 0
StartMode : Auto
State     : Stopped
Status    : OK

Dieser Befehl verwendet Get-WmiObject , um das Win32_Service Objekt für den neuen Dienst abzurufen. Dieses Objekt enthält den Startmodus und die Dienstbeschreibung.

Beispiel 4: Löschen eines Diensts

PS C:\> sc.exe delete TestService
- or -
PS C:\> (Get-WmiObject win32_service -Filter "name='TestService'").delete()

Dieses Beispiel zeigt zwei Möglichkeiten zum Löschen des TestService-Diensts. Der erste Befehl verwendet die Löschoption Sc.exe. Der zweite Befehl verwendet die Delete-Methode der Win32_Service Objekte, die Get-WmiObject zurückgibt.

Parameter

-BinaryPathName

Gibt den Pfad der ausführbaren Datei für den Dienst an. Dieser Parameter ist erforderlich.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False

Parametersätze

(All)
Position:1
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-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

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

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

-DependsOn

Gibt die Namen anderer Dienste an, von denen der neue Dienst abhängt. Um mehrere Dienstnamen einzugeben, verwenden Sie ein Komma, um die Namen zu trennen.

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

-Description

Gibt eine Beschreibung des Diensts an.

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 Anzeigenamen für den Dienst an.

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

-Name

Gibt den Namen des Diensts an. Dieser Parameter ist erforderlich.

Parametereigenschaften

Typ:String
Standardwert:None
Unterstützt Platzhalter:False
Nicht anzeigen:False
Aliase:Dienstname

Parametersätze

(All)
Position:0
Obligatorisch:True
Wert aus Pipeline:False
Wert aus Pipeline nach dem Eigenschaftsnamen:False
Wert aus verbleibenden Argumenten:False

-StartupType

Legt den Starttyp des Diensts fest. Die zulässigen Werte für diesen Parameter sind:

  • Manuell. Der Dienst wird nur manuell, von einem Benutzer, mit dem Dienststeuerungs-Manager oder von einer Anwendung gestartet.
  • Automatisch. Der Dienst wird beim Systemstart vom Betriebssystem gestartet oder wurde 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.
  • Arbeitsunfähig. Der Dienst ist deaktiviert und kann von einem Benutzer oder einer Anwendung nicht gestartet werden.

Der Standardwert ist Automatisch.

Parametereigenschaften

Typ:ServiceStartMode
Standardwert:None
Zulässige Werte:Automatic, Manual, Disabled
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

None

Eingaben können nicht an dieses Cmdlet weitergereicht werden.

Ausgaben

ServiceController

Dieses Cmdlet gibt ein Objekt zurück, das den neuen Dienst darstellt.

Hinweise

  • Um dieses Cmdlet unter Windows Vista und höheren Versionen des Windows-Betriebssystems auszuführen, starten Sie Windows PowerShell mit der Option Als Administrator ausführen.
  • Um einen Dienst zu löschen, verwenden Sie Sc.exe, oder verwenden Sie das Cmdlet Get-WmiObject, um das Win32_Service Objekt abzurufen, das den Dienst darstellt, und verwenden Sie dann die Delete-Methode, um den Dienst zu löschen. Das Objekt, das Get-Service zurückgibt, verfügt nicht über eine delete-Methode.