Compartir a través de


New-Service

Crea un servicio de Windows.

Sintaxis

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

Description

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: Eliminación de un servicio

sc.exe delete TestService
# - or -
(Get-CimInstance -Class Win32_Service -Filter "name='TestService'").delete()

Este ejemplo muestra dos formas de eliminar el servicio TestService. El primer comando usa la opción delete de Sc.exe. El segundo comando usa el método Delete de los objetos Win32_Service que Get-CimInstance devuelve.

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

-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.
  • Deshabilitado : el servicio está deshabilitado y no puede iniciarlo un usuario o una aplicación.
  • Manual : el servicio solo se inicia manualmente, por un usuario, mediante service Control Manager o por una aplicación.
  • Arranque : indica que el servicio es un controlador de dispositivo iniciado por el cargador del sistema. Este valor solo es válido para controladores de dispositivos.
  • Sistema : indica que el servicio es un controlador de dispositivo iniciado por la función "IOInitSystem()". Este valor solo es válido para controladores de dispositivos.

El valor predeterminado es Automático.

Tipo:ServiceStartMode
Valores aceptados:Boot, System, Automatic, Manual, Disabled
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

ServiceController

Este cmdlet devuelve un objeto que representa el nuevo servicio.

Notas

Para ejecutar este cmdlet, inicie PowerShell mediante la opción Ejecutar como administrador .

Para eliminar un servicio, use Sc.exe o use el Get-CimInstance cmdlet para obtener el objeto Win32_Service que representa el servicio y, a continuación, use el método Delete para eliminar el servicio. El objeto que Get-Service devuelve no tiene un método delete.