Stop-Computer
Detiene (apaga) equipos locales y remotos.
Sintaxis
All
Stop-Computer
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Stop-Computer apaga el equipo local y los equipos remotos.
Puede usar los parámetros de Stop-Computer para ejecutar las operaciones de apagado como trabajo en segundo plano, para especificar los niveles de autenticación y las credenciales alternativas, limitar las conexiones simultáneas que se crean para ejecutar el comando y forzar un apagado inmediato.
Este cmdlet no requiere comunicación remota de PowerShell a menos que use el parámetro AsJob.
Ejemplos
Ejemplo 1: Apagar el equipo local
En este ejemplo se apaga el equipo local.
Stop-Computer -ComputerName localhost
Ejemplo 2: Apagar dos equipos remotos y el equipo local
En este ejemplo se detienen dos equipos remotos y el equipo local.
Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Stop-Computer usa el parámetro ComputerName para especificar dos equipos remotos y el equipo local. Cada equipo está apagado.
Ejemplo 3: Apagar equipos remotos como trabajo en segundo plano
En este ejemplo, Stop-Computer se ejecuta como un trabajo en segundo plano en dos equipos remotos.
$j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
$results = $j | Receive-Job
$results
Stop-Computer usa el parámetro ComputerName para especificar dos equipos remotos. El parámetro AsJob ejecuta el comando como un trabajo en segundo plano. Los objetos de trabajo se almacenan en la variable $j.
Los objetos de trabajo de la variable $j se envían a la canalización a Receive-Job, que obtiene los resultados del trabajo. Los objetos se almacenan en la variable $results. La variable $results muestra la información del trabajo en la consola de PowerShell.
Dado que AsJob crea el trabajo en el equipo local y devuelve automáticamente los resultados al equipo local, puede ejecutar Receive-Job como comando local.
Ejemplo 4: Apagar un equipo remoto
En este ejemplo se apaga un equipo remoto mediante la autenticación especificada.
Stop-Computer -ComputerName "Server01" -Impersonation Anonymous -DcomAuthentication PacketIntegrity
Stop-Computer usa el parámetro computerName para especificar el equipo remoto. El parámetro suplantación especifica una suplantación personalizada y el parámetro DcomAuthentication especifica la configuración de nivel de autenticación.
Ejemplo 5: Apagar equipos en un dominio
En este ejemplo, los comandos fuerzan un apagado inmediato de todos los equipos de un dominio especificado.
$s = Get-Content -Path ./Domain01.txt
$c = Get-Credential -Credential Domain01\Admin01
Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Get-Content usa el parámetro path para obtener un archivo en el directorio actual con la lista de equipos de dominio. Los objetos se almacenan en la variable $s.
Get-Credential usa el parámetro credential de para especificar las credenciales de un administrador de dominio. Las credenciales se almacenan en la variable $c.
Stop-Computer apaga los equipos especificados con la lista de equipos de ComputerName de equipos de la variable $s. El parámetro Force fuerza un apagado inmediato. El parámetro ThrottleLimit limita el comando a 10 conexiones simultáneas. El parámetro credential envía las credenciales guardadas en la variable $c.
Parámetros
-AsJob
Indica que este cmdlet se ejecuta como un trabajo en segundo plano.
Para usar este parámetro, los equipos locales y remotos deben configurarse para la comunicación remota y, en Windows Vista y versiones posteriores del sistema operativo Windows, debe abrir PowerShell mediante el opción Ejecutar como administrador. Para obtener más información, consulte about_Remote_Requirements.
Al especificar el parámetro asJob, el comando devuelve inmediatamente un objeto que representa el trabajo en segundo plano. Puede continuar trabajando en la sesión mientras finaliza el trabajo. El trabajo se crea en el equipo local y los resultados de los equipos remotos se devuelven automáticamente al equipo local. Para obtener los resultados del trabajo, use el cmdlet Receive-Job.
Para obtener más información sobre los trabajos en segundo plano de PowerShell, consulte about_Jobs y about_Remote_Jobs.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| 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 |
-ComputerName
Especifica los equipos que se van a detener. El valor predeterminado es el equipo local.
Escriba el nombre NETBIOS, la dirección IP o el nombre de dominio completo de uno o varios equipos de una lista separada por comas. Para especificar el equipo local, escriba el nombre del equipo o localhost.
Este parámetro no utiliza la comunicación remota de PowerShell. Puede usar el parámetro ComputerName incluso si el equipo no está configurado para ejecutar comandos remotos.
Propiedades de parámetro
| Tipo: | String[] |
| Valor predeterminado: | None |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | CN, __SERVIDOR, Servidor, dirección IP |
Conjuntos de parámetros
(All)
| Posición: | 0 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | True |
| 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 una cuenta de usuario que tiene permiso para realizar esta acción. El valor predeterminado es el usuario actual.
Escriba un nombre de usuario, como User01 o Domain01\User01, o escriba un objeto de PSCredential generado por el cmdlet Get-Credential. Si escribe un nombre de usuario, se le pedirá que escriba la 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: | Current user |
| Admite caracteres comodín: | False |
| DontShow: | False |
Conjuntos de parámetros
(All)
| Posición: | 1 |
| Obligatorio: | False |
| Valor de la canalización: | False |
| Valor de la canalización por nombre de propiedad: | False |
| Valor de los argumentos restantes: | False |
-DcomAuthentication
Especifica el nivel de autenticación que usa este cmdlet con WMI.
Stop-Computer usa WMI. El valor predeterminado es Packet.
Los valores aceptables para este parámetro son:
- predeterminado: autenticación de Windows.
- Ninguno: sin autenticación COM.
- Connect: autenticación COM de nivel de conexión.
- Llamada: autenticación COM de nivel de llamada.
- Packet: autenticación COM de nivel de paquete.
- PacketIntegrity: autenticación COM de nivel de integridad de paquetes.
- PacketPrivacy: autenticación COM de nivel de privacidad de paquetes.
- sin cambios: igual que el comando anterior.
Para obtener más información sobre los valores de este parámetro, consulte AuthenticationLevel.
Propiedades de parámetro
| Tipo: | AuthenticationLevel |
| Valor predeterminado: | Packet |
| Valores aceptados: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
| Admite caracteres comodín: | False |
| DontShow: | False |
| Alias: | Autenticación |
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 |
-Force
Fuerza un apagado inmediato del equipo.
Propiedades de parámetro
| Tipo: | SwitchParameter |
| Valor predeterminado: | False |
| 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 |
-Impersonation
Especifica el nivel de suplantación que se va a usar cuando este cmdlet llama a WMI. El valor predeterminado es suplantar.
Stop-Computer usa WMI. Los valores aceptables para este parámetro son:
- predeterminado: suplantación predeterminada.
- anónimo: oculta la identidad del autor de la llamada.
- Identificar: permite a los objetos consultar las credenciales del autor de la llamada.
- suplantar: permite a los objetos usar las credenciales del autor de la llamada.
Propiedades de parámetro
| Tipo: | ImpersonationLevel |
| Valor predeterminado: | Impersonate |
| Valores aceptados: | Default, Anonymous, Identify, Impersonate, Delegate |
| 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 |
-Protocol
Especifica el protocolo que se va a usar para reiniciar los equipos. Los valores aceptables para este parámetro son: WSMan y DCOM. El valor predeterminado es DCOM.
Este parámetro se introdujo en PowerShell 3.0.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | DCOM |
| Valores aceptados: | DCOM, WSMan |
| 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 |
-ThrottleLimit
Especifica el número máximo de conexiones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o especifica un valor de 0, se usa el valor predeterminado, 32.
El límite solo se aplica al comando actual, no a la sesión o al equipo.
Propiedades de parámetro
| Tipo: | Int32 |
| 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 |
-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 |
-WsmanAuthentication
Especifica el mecanismo que se usa para autenticar las credenciales de usuario cuando este cmdlet usa el protocolo WSMan. El valor predeterminado es Default.
Los valores aceptables para este parámetro son:
- Básico
- CredSSP
- Predeterminado
- Resumen
- Kerberos
- Negociar.
Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism.
Precaución
La autenticación del proveedor de servicios de seguridad de credenciales (CredSSP), en la que las credenciales de usuario se pasan a un equipo remoto para autenticarse, está diseñada para comandos que requieren autenticación en más de un recurso, como el acceso a un recurso compartido de red remoto. Este mecanismo aumenta el riesgo de seguridad de la operación remota. Si el equipo remoto está en peligro, se pueden usar las credenciales que se pasan a ella para controlar la sesión de red.
Este parámetro se introdujo en PowerShell 3.0.
Propiedades de parámetro
| Tipo: | String |
| Valor predeterminado: | Default |
| Valores aceptados: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
| 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 |
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
None
De forma predeterminada, este cmdlet no devuelve ninguna salida.
System.Management.Automation.RemotingJob
Cuando se usa el parámetro de AsJob, este cmdlet devuelve un objeto RemotingJob.
Notas
Este cmdlet usa el método Win32Shutdown de la clase WMI de Win32_OperatingSystem. Este método requiere que el privilegio SeShutdownPrivilege esté habilitado para la cuenta de usuario que se usa para apagar la máquina.