New-Service
Erstellt einen neuen Windows-Dienst.
Syntax
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-StartupType <ServiceStartMode>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Beschreibung
Das Cmdlet New-Service erstellt einen neuen Eintrag für einen Windows-Dienst in der Registrierung und in der Dienstdatenbank. 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: Create eines Diensts
PS C:\> New-Service -Name "TestService" -BinaryPathName "C:\WINDOWS\System32\svchost.exe -k netsvcs"
Mit diesem Befehl wird ein Dienst mit dem Namen TestService erstellt.
Beispiel 2: Create 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 mit dem Namen TestService erstellt. Es 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()
In diesem Beispiel werden zwei Möglichkeiten zum Löschen des Diensts %%amp;quot;TestService%%amp;quot; veranschaulicht. Im ersten Befehl wird die Löschoption von %%amp;quot;Sc.exe%%amp;quot; verwendet. 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.
Type: | String |
Position: | 1 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-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 |
-Credential
Gibt das Konto an, das vom Dienst als Dienstanmeldungskonto verwendet wird.
Geben Sie einen Benutzernamen ein, z. B. User01 oder Domain01\User01, oder geben Sie ein PSCredential-Objekt ein, z. B. ein vom Cmdlet Get-Credential generiertes Objekt. Wenn Sie einen Benutzernamen eingeben, werden Sie von diesem Cmdlet zur Eingabe eines Kennworts aufgefordert.
Type: | PSCredential |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DependsOn
Gibt die Namen anderer Dienste an, von denen der neue Dienst abhängt. Trennen Sie zum Eingeben mehrerer Dienstnamen die Namen durch Trennzeichen.
Type: | String[] |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Description
Gibt eine Beschreibung des Diensts an.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DisplayName
Gibt einen Anzeigenamen für den Dienst an.
Type: | String |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Name
Gibt den Namen des Diensts an. Dieser Parameter ist erforderlich.
Type: | String |
Aliases: | ServiceName |
Position: | 0 |
Default value: | None |
Required: | True |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-StartupType
Legt den Starttyp des Diensts fest. Zulässige Werte für diesen Parameter:
- Manuelle Aktion. Der Dienst wird nur manuell gestartet, von einem Benutzer, mit dem Dienststeuerungs-Manager oder von einer Anwendung.
- Automatisch. Der Dienst wird beim Systemstart gestartet oder vom Betriebssystem gestartet. Wenn ein automatisch gestarteter Dienst von einem manuell gestarteten Dienst abhängig ist, wird der manuell gestartete Dienst beim Systemstart ebenfalls automatisch gestartet.
- Deaktiviert. Der Dienst ist deaktiviert und kann nicht von einem Benutzer oder einer Anwendung gestartet werden.
Der Standardwert ist Automatisch.
Type: | ServiceStartMode |
Accepted values: | Automatic, Manual, Disabled |
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
None
Eingaben können nicht an dieses Cmdlet weitergereicht werden.
Ausgaben
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 mithilfe 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.