Condividi tramite


New-Service

Crea un nuovo servizio Windows.

Sintassi

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

Descrizione

Il cmdlet New-Service crea una nuova voce per un servizio Windows nel Registro di sistema e nel database del servizio. Un nuovo servizio richiede un file eseguibile che viene eseguito durante il servizio.

I parametri di questo cmdlet consentono di impostare il nome visualizzato, la descrizione, il tipo di avvio e le dipendenze del servizio.

Esempio

Esempio 1: Create un servizio

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

Questo comando crea un servizio denominato TestService.

Esempio 2: Create un servizio che include descrizione, tipo di avvio e nome visualizzato

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

Questo comando crea un servizio denominato TestService. Usa i parametri di New-Service per specificare una descrizione, un tipo di avvio e un nome visualizzato per il nuovo servizio.

Esempio 3: Visualizzare il nuovo servizio

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

Questo comando usa Get-WmiObject per ottenere l'oggetto Win32_Service per il nuovo servizio. Questo oggetto include la modalità di avvio e la descrizione del servizio.

Esempio 4: Eliminare un servizio

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

Questo esempio illustra due modi per eliminare il servizio TestService. Il primo comando usa l'opzione di eliminazione di Sc.exe. Il secondo comando usa il metodo Delete degli oggetti Win32_Service restituiti da Get-WmiObject .

Parametri

-BinaryPathName

Specifica il percorso del file eseguibile per il servizio. Questo parametro è obbligatorio.

Type:String
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Richiede la conferma dell'utente prima di eseguire il cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifica l'account utilizzato dal servizio come account di accesso al servizio.

Digitare un nome utente, ad esempio User01 o Domain01\User01, oppure immettere un oggetto PSCredential , ad esempio uno generato dal cmdlet Get-Credential. Se si digita un nome utente, questo cmdlet richiede una password.

Type:PSCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DependsOn

Specifica i nomi di altri servizi da cui dipende il nuovo servizio. Per immettere più nomi di servizio, usare la virgola per separare i nomi.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Description

Specifica una descrizione del servizio.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-DisplayName

Specifica un nome visualizzato per il servizio.

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifica il nome del server. Questo parametro è obbligatorio.

Type:String
Aliases:ServiceName
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-StartupType

Imposta il tipo di avvio del servizio. I valori validi per questo parametro sono:

  • manuale. Il servizio viene avviato solo manualmente, da un utente, tramite Service Control Manager o da un'applicazione.
  • Automatico. Il servizio viene avviato o avviato dal sistema operativo all'avvio del sistema. Se un servizio avviato automaticamente dipende da un servizio avviato manualmente, anche il servizio avviato manualmente viene avviato automaticamente all'avvio del sistema.
  • Disattivato. il servizio è disabilitato e non può essere avviato da un utente o da un'applicazione.

Il valore predefinito è Automatic.

Type:ServiceStartMode
Accepted values:Automatic, Manual, Disabled
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Mostra l'esito in caso di esecuzione del cmdlet. Il cmdlet non viene eseguito.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Input

None

Non è possibile inviare input tramite pipe a questo cmdlet.

Output

ServiceController

Questo cmdlet restituisce un oggetto che rappresenta il nuovo servizio.

Note

  • Per eseguire questo cmdlet in Windows Vista e versioni successive del sistema operativo Windows, avviare Windows PowerShell usando l'opzione Esegui come amministratore.
  • Per eliminare un servizio, usare Sc.exe o usare il cmdlet Get-WmiObject per ottenere l'oggetto Win32_Service che rappresenta il servizio e quindi usare il metodo Delete per eliminare il servizio. L'oggetto restituito Get-Service non dispone di un metodo delete.