New-Service
Crea un nuovo servizio Windows.
Sintassi
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 New-Service
cmdlet 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 da creare.
$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
SecurityDescriptor viene archiviato nella $SDDLToSet
variabile . Il parametro SecurityDescriptorSddl usa $SDDL
per impostare 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:\my share\myservice.exe" arg1 arg2'
. Questi argomenti vengono passati al punto di ingresso del servizio.
Per altre informazioni, vedere il parametro lpBinaryPathName dell'API CreateServiceW .
Tipo: | String |
Alias: | Path |
Posizione: | 1 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Confirm
Richiede conferma prima di eseguire il cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Credential
Specifica l'account usato 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 Get-Credential
cmdlet. 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.
Nota
Per altre informazioni sulla protezione dei dati SecureString , vedere How secure is SecureString?.
Tipo: | PSCredential |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | 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.
Tipo: | String[] |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Description
Specifica una descrizione del servizio.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-DisplayName
Specifica un nome visualizzato per il servizio.
Tipo: | String |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-Name
Specifica il nome del server. Questo parametro è obbligatorio.
Tipo: | String |
Alias: | ServiceName |
Posizione: | 0 |
Valore predefinito: | None |
Necessario: | True |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-SecurityDescriptorSddl
Specifica securityDescriptor per il servizio in formato Sddl.
Tipo: | String |
Alias: | sd |
Posizione: | Named |
Valore predefinito: | None |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-StartupType
Imposta il tipo di avvio del servizio. I valori validi per questo parametro sono:
- Automatico : il servizio viene avviato o è stato avviato dal sistema operativo, all'avvio del sistema. Se un servizio ad avvio automatico dipende da un servizio ad avvio manuale, anche il servizio ad avvio manuale viene avviato automaticamente 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 Gestione controllo servizi o da un'applicazione.
Il valore predefinito è Automatic.
Tipo: | ServiceStartupType |
Valori accettati: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Posizione: | Named |
Valore predefinito: | Automatic |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
-WhatIf
Mostra gli effetti dell'esecuzione del cmdlet. Il cmdlet non viene eseguito.
Tipo: | SwitchParameter |
Alias: | wi |
Posizione: | Named |
Valore predefinito: | False |
Necessario: | False |
Accettare l'input della pipeline: | False |
Accettare caratteri jolly: | False |
Input
None
Non è possibile inviare tramite pipe oggetti a questo cmdlet.
Output
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 .