New-Service
Crea un nuovo servizio Windows.
Sintassi
Default (Impostazione predefinita)
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Descrizione
Questo cmdlet è disponibile solo nella piattaforma Windows.
Il cmdlet New-Service crea una nuova voce per un servizio di 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: Creare un servizio
New-Service -Name "TestService" -BinaryPathName '"C:\WINDOWS\System32\svchost.exe -k netsvcs"'
Questo comando crea un servizio denominato TestService.
Esempio 2: Creare un servizio che include descrizione, tipo di avvio e nome visualizzato
$params = @{
Name = "TestService"
BinaryPathName = '"C:\WINDOWS\System32\svchost.exe -k netsvcs"'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
}
New-Service @params
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
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Questo comando usa Get-CimInstance per ottenere l'oggetto Win32_Service per il nuovo servizio. Questo oggetto include la modalità di avvio e la descrizione del servizio.
Esempio 4: impostare SecurityDescriptor di un servizio durante la creazione.
In questo esempio viene aggiunto il SecurityDescriptor del servizio in fase di creazione.
$SDDL = "D:(A;;CCLCSWRPWPDTLOCRRC;;;SY)(A;;CCDCLCSWRPWPDTLOCRSDRCWDWO;;;BA)(A;;CCLCSWLOCRRC;;;SU)"
$params = @{
BinaryPathName = '"C:\WINDOWS\System32\svchost.exe -k netsvcs"'
DependsOn = "NetLogon"
DisplayName = "Test Service"
StartupType = "Manual"
Description = "This is a test service."
SecurityDescriptorSddl = $SDDL
}
New-Service @params
Il securityDescriptor viene archiviato nella variabile $SDDLToSet. Il parametro SecurityDescriptorSddl usa $SDDL per impostare il SecurityDescriptor del nuovo servizio.
Parametri
-BinaryPathName
Specifica il percorso del file eseguibile per il servizio. Questo parametro è obbligatorio.
Percorso completo del file binario del servizio. Se il percorso contiene uno spazio, deve essere racchiuso tra virgolette in modo che venga interpretato correttamente. Ad esempio, d:\my share\myservice.exe deve essere specificato come '"d:\my share\myservice.exe"'.
Il percorso può includere anche argomenti per un servizio di avvio automatico. Ad esempio: '"d:\myshare\myservice.exe arg1 arg2"'. Questi argomenti vengono passati al punto di ingresso del servizio.
Per altre informazioni, vedere il parametro lpBinaryPathName dell'API CreateServiceW.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Percorso |
Set di parametri
(All)
| Posizione: | 1 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | cfr |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Credential
Specifica l'account usato dal servizio come account di accesso del servizio .
Digitare un nome utente, ad esempio User01 o Domain01\User01oppure immettere un oggetto PSCredential, ad esempio quello generato dal cmdlet Get-Credential. Se si digita un nome utente, questo cmdlet richiede una password.
Le credenziali vengono archiviate in un oggetto PSCredential e la password viene archiviata come SecureString.
Annotazioni
Per ulteriori informazioni sulla protezione dei dati di SecureString, vedere Quanto è sicuro SecureString?.
Proprietà dei parametri
| Tipo: | PSCredential |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-DependsOn
Specifica i nomi di altri servizi da cui dipende il nuovo servizio. Per immettere più nomi di servizio, usare una virgola per separare i nomi.
Proprietà dei parametri
| Tipo: | String[] |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Description
Specifica una descrizione del servizio.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-DisplayName
Specifica un nome visualizzato per il servizio.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-Name
Specifica il nome del server. Questo parametro è obbligatorio.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Nome del servizio |
Set di parametri
(All)
| Posizione: | 0 |
| Obbligatorio: | True |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-SecurityDescriptorSddl
Specifica il SecurityDescriptor per il servizio in formato SDDL.
Proprietà dei parametri
| Tipo: | String |
| Valore predefinito: | None |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Sd |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-StartupType
Imposta il tipo di avvio del servizio. I valori accettabili per questo parametro sono:
- Automatico: il servizio viene avviato o è stato avviato dal sistema operativo all'avvio. Se un servizio avviato automaticamente dipende da un servizio avviato manualmente, il servizio avviato manualmente viene avviato automaticamente anche all'avvio del sistema.
- AutomaticDelayedStart : viene avviato poco dopo l'avvio del sistema.
- Disabilitato: il servizio è disabilitato e non può essere avviato da un utente o da un'applicazione.
- InvalidValue: questo valore non è supportato. L'uso di questo valore genera un errore.
- manuale: il servizio viene avviato solo manualmente, da un utente, tramite Service Control Manager o da un'applicazione.
Il valore predefinito è automatico.
Proprietà dei parametri
| Tipo: | ServiceStartupType |
| Valore predefinito: | Automatic |
| Valori accettati: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Proprietà dei parametri
| Tipo: | SwitchParameter |
| Valore predefinito: | False |
| Supporta i caratteri jolly: | False |
| DontShow: | False |
| Alias: | Wi |
Set di parametri
(All)
| Posizione: | Named |
| Obbligatorio: | False |
| Valore dalla pipeline: | False |
| Valore dalla pipeline in base al nome della proprietà: | False |
| Valore dagli argomenti rimanenti: | False |
CommonParameters
Questo cmdlet supporta i parametri comuni: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction e -WarningVariable. Per altre informazioni, vedi about_CommonParameters.
Input
None
Non è possibile inviare tramite pipe l'input a questo cmdlet.
Output
ServiceController
Questo cmdlet restituisce un oggetto che rappresenta il nuovo servizio.
Note
Questo cmdlet è disponibile solo nelle piattaforme Windows.
Per eseguire questo cmdlet, avviare PowerShell usando l'opzione Esegui come amministratore.