New-Service
Crea un nuevo servicio de Windows.
Sintaxis
Default (valor predeterminado)
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 cmdlet New-Service 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 establecer 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 el 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
El securityDescriptor de se almacena en la variable $SDDLToSet. El parámetro securityDescriptorSddl de usa $SDDL para establecer el 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.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Ruta |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Confirm
Le pide confirmación antes de ejecutar el cmdlet.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | cf |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Credential
Especifica la cuenta que utiliza el servicio como Cuenta de inicio de sesión del servicio.
Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential, como uno generado por el cmdlet Get-Credential. 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 de SecureString, consulte ¿Qué tan segura es SecureString?.
Propiedades de parámetro
| Tipo: | PSCredential |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DependsOn
Especifica los nombres de otros servicios en los que depende el nuevo servicio. Para especificar varios nombres de servicio, use una coma para separar los nombres.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Description
Especifica una descripción del servicio.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DisplayName
Especifica un nombre para mostrar para el servicio.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-Name
Especifica el nombre del servicio. Este parámetro es obligatorio.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | NombreDelServicio |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | True |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-SecurityDescriptorSddl
Especifica el SecurityDescriptor para el servicio en formato Sddl.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Sd |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-StartupType
Establece el tipo de inicio del servicio. Los valores aceptables para este parámetro son:
- Automático - El servicio es iniciado o fue iniciado por el sistema operativo, al inicio del sistema. Si un servicio iniciado automáticamente depende de un servicio iniciado manualmente, el servicio iniciado manualmente también se inicia automáticamente en el inicio del 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 Automatic.
Propiedades de parámetro
| Tipo: | ServiceStartupType |
| Valor predeterminado: | Automatic |
| Valores aceptados: | Automatic, Manual, Disabled, AutomaticDelayedStart, InvalidValue |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-WhatIf
Muestra lo que sucedería si el cmdlet se ejecuta. El cmdlet no se ejecuta.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Wi |
Conjuntos de parámetros
(All)
| Posición: | Named |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
CommonParameters
Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.
Entradas
None
No se pueden canalizar objetos a este cmdlet.
Salidas
ServiceController
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.