New-Service
Crea un servicio de Windows.
Sintaxis
New-Service
[-Name] <String>
[-BinaryPathName] <String>
[-DisplayName <String>]
[-Description <String>]
[-SecurityDescriptorSddl <String>]
[-StartupType <ServiceStartupType>]
[-Credential <PSCredential>]
[-DependsOn <String[]>]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
Este cmdlet solo está disponible en la plataforma Windows.
El New-Service
cmdlet crea una nueva entrada para un servicio de Windows en el Registro y en la base de datos de servicio. Un nuevo servicio requiere un archivo ejecutable que se ejecuta durante el servicio.
Los parámetros de este cmdlet permiten definir el nombre para mostrar, la descripción, el tipo de inicio y las dependencias del servicio.
Ejemplos
Ejemplo 1: Creación de un servicio
New-Service -Name "TestService" -BinaryPathName 'C:\WINDOWS\System32\svchost.exe -k netsvcs'
Este comando crea un servicio denominado TestService.
Ejemplo 2: Creación de un servicio que incluya descripción, tipo de inicio y nombre para mostrar
$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
Este comando crea un servicio denominado TestService. Usa los parámetros de New-Service
para especificar una descripción, un tipo de inicio y un nombre para mostrar para el nuevo servicio.
Ejemplo 3: Visualización del nuevo servicio
Get-CimInstance -ClassName Win32_Service -Filter "Name='testservice'"
ExitCode : 0
Name : testservice
ProcessId : 0
StartMode : Auto
State : Stopped
Status : OK
Este comando usa Get-CimInstance
para obtener el objeto Win32_Service para el nuevo servicio. Este objeto incluye el modo de inicio y la descripción del servicio.
Ejemplo 4: Establecer securityDescriptor de un servicio al crear.
En este ejemplo se agrega securityDescriptor del servicio que se va a crear.
$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 se almacena en la $SDDLToSet
variable . El parámetro SecurityDescriptorSddl usa $SDDL
para establecer securityDescriptor del nuevo servicio.
Parámetros
-BinaryPathName
Especifica la ruta de acceso del archivo ejecutable para el servicio. Este parámetro es obligatorio.
Ruta de acceso completa al archivo binario del servicio. Si la ruta de acceso contiene un espacio, se debe citar para que se interprete correctamente. Por ejemplo, d:\my share\myservice.exe
debe especificarse como '"d:\my share\myservice.exe"'
.
La ruta de acceso también puede incluir argumentos para un servicio de inicio automático. Por ejemplo, '"d:\my share\myservice.exe" arg1 arg2'
. Estos argumentos se pasan al punto de entrada de servicio.
Para obtener más información, consulte el parámetro lpBinaryPathName de CreateServiceW API.
Tipo: | String |
Alias: | Path |
Posición: | 1 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Tipo: | SwitchParameter |
Alias: | cf |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Credential
Especifica la cuenta usada por el servicio como cuenta de inicio de sesión de servicio.
Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto PSCredential , como uno generado por el Get-Credential
cmdlet. Si escribe un nombre de usuario, este cmdlet le pedirá una contraseña.
Las credenciales se almacenan en un objeto PSCredential y la contraseña se almacena como SecureString.
Nota:
Para obtener más información sobre la protección de datos SecureString , consulte ¿Cómo es secure is SecureString?.
Tipo: | PSCredential |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DependsOn
Especifica los nombres de los otros servicios de los que el nuevo servicio depende. Si se van a especificar varios nombres de servicio, use comas para separarlos.
Tipo: | String[] |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Description
Especifica una descripción del servicio.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-DisplayName
Especifica un nombre para mostrar del servicio.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-Name
Especifica el nombre del servicio. Este parámetro es obligatorio.
Tipo: | String |
Alias: | ServiceName |
Posición: | 0 |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-SecurityDescriptorSddl
Especifica securityDescriptor para el servicio en formato Sddl.
Tipo: | String |
Alias: | sd |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-StartupType
Establece el tipo de inicio del servicio. Los valores permitidos para este parámetro son los siguientes:
- Automático : el sistema operativo inicia o inicia el servicio en el inicio del sistema. Si un servicio iniciado automáticamente depende de un servicio iniciado de forma manual, el servicio iniciado de forma manual también se iniciará automáticamente al iniciarse el sistema.
- AutomaticDelayedStart : se inicia poco después del arranque del sistema.
- Deshabilitado : el servicio está deshabilitado y no puede iniciarlo un usuario o una aplicación.
- InvalidValue : este valor no se admite. El uso de este valor produce un error.
- Manual : el servicio solo se inicia manualmente, por un usuario, mediante service Control Manager o por una aplicación.
El valor predeterminado es Automático.
Tipo: | ServiceStartupType |
Valores aceptados: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
Posición: | Named |
Valor predeterminado: | Automatic |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Tipo: | SwitchParameter |
Alias: | wi |
Posición: | Named |
Valor predeterminado: | False |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
Este cmdlet devuelve un objeto que representa el nuevo servicio.
Notas
Este cmdlet solo está disponible en plataformas Windows.
Para ejecutar este cmdlet, inicie PowerShell mediante la opción Ejecutar como administrador .