Stop-Computer
Detiene (apaga) los equipos locales y remotos.
Syntax
Stop-Computer
[-AsJob]
[-DcomAuthentication <AuthenticationLevel>]
[-WsmanAuthentication <String>]
[-Protocol <String>]
[[-ComputerName] <String[]>]
[[-Credential] <PSCredential>]
[-Impersonation <ImpersonationLevel>]
[-ThrottleLimit <Int32>]
[-Force]
[-WhatIf]
[-Confirm]
[<CommonParameters>]
Description
El cmdlet Stop-Computer apaga los equipos de forma remota. También puede apagar el equipo local.
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, para limitar las conexiones simultáneas que se crean para ejecutar el comando y forzar un apagado inmediato.
Este cmdlet no requiere Windows PowerShell comunicación remota a menos que use el parámetro AsJob.
Ejemplos
Ejemplo 1: Apagar el equipo local
PS C:\> Stop-Computer
Este comando apaga el equipo local.
Ejemplo 2: Apagar dos equipos remotos y el equipo local
PS C:\> Stop-Computer -ComputerName "Server01", "Server02", "localhost"
Este comando detiene dos equipos remotos, Server01 y Server02, y el equipo local, identificado como localhost.
Ejemplo 3: Apagar equipos remotos como un trabajo en segundo plano
PS C:\> $j = Stop-Computer -ComputerName "Server01", "Server02" -AsJob
PS C:\> $results = $j | Receive-Job
PS C:\> $results
Estos comandos ejecutan Stop-Computer como un trabajo en segundo plano en dos equipos remotos y, a continuación, obtienen los resultados.
El primer comando especifica el parámetro AsJob para ejecutar el comando como trabajo en segundo plano. El comando guarda el objeto de trabajo resultante en la variable $j.
El segundo comando usa un operador de canalización para enviar el objeto de trabajo en $j a Receive-Job, que obtiene los resultados del trabajo. El comando guarda los resultados en la variable $results.
El tercer comando muestra el resultado que se guarda en la variable $results.
Dado que AsJob crea el trabajo en el equipo local y devuelve automáticamente los resultados al equipo local, puede ejecutar Receive-Job como un comando local.
Ejemplo 4: Apagar un equipo remoto
PS C:\> Stop-Computer -CompupterName "Server01" -Impersonation anonymous -Authentication PacketIntegrity
Este comando detiene el equipo remoto Server01. El comando usa una configuración de suplantación y autenticación personalizada.
Ejemplo 5:
PS C:\> $s = Get-Content Domain01.txt
PS C:\> $c = Get-Credential domain01\admin01
PS C:\> Stop-Computer -ComputerName $s -Force -ThrottleLimit 10 -Credential $c
Estos comandos fuerzan el apagado inmediato de todos los equipos en Domain01.
El primer comando obtiene una lista de equipos del dominio y, a continuación, los almacena en la variable $s.
El segundo comando obtiene las credenciales de un administrador de dominio y, a continuación, las almacena en la variable $c.
El tercer comando apaga los equipos. Usa el parámetro ComputerName para enviar la lista de equipos en la variable $s, el parámetro Force para forzar un apagado inmediato y el parámetro Credential para enviar las credenciales guardadas en la variable $c. También usa el parámetro ThrottleLimit para limitar el comando a 10 conexiones simultáneas.
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 Windows PowerShell mediante la 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 seguir trabajando en la sesión mientras finaliza el trabajo. Se crea el trabajo en el equipo local y, automáticamente, se devuelven los resultados de los equipos remotos al equipo local. Para obtener los resultados del trabajo, use el cmdlet Receive-Job.
Para obtener más información sobre Windows PowerShell trabajos en segundo plano, consulte about_Jobs y about_Remote_Jobs.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ComputerName
Especifica los equipos que se van a detener. La opción predeterminada es el equipo local.
Escriba el nombre NETBIOS, la dirección IP o el nombre de dominio completo de uno o varios equipos en 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 Windows PowerShell. Puede usar el parámetro ComputerName, incluso aunque el equipo no esté configurado para ejecutar comandos remotos.
Type: | String[] |
Aliases: | CN, __SERVER, Server, IPAddress |
Position: | 0 |
Default value: | None |
Required: | False |
Accept pipeline input: | True |
Accept wildcard characters: | False |
-Confirm
Le solicita su confirmación antes de ejecutar el cmdlet.
Type: | SwitchParameter |
Aliases: | cf |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Credential
Especifica una cuenta de usuario con 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 PSCredential , como uno del cmdlet Get-Credential.
Type: | PSCredential |
Position: | 1 |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-DcomAuthentication
Especifica el nivel de autenticación que usa este cmdlet con WMI. Stop-Computer usa WMI. Los valores permitidos para este parámetro son los siguientes:
- Predeterminada. Autenticación de Windows
- Ninguno. ninguna autenticación COM
- Conéctese. Autenticación COM de nivel de conexión
- Llamar. Autenticación COM de nivel de llamada
- Paquete. 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
El valor predeterminado es Packet.
Para obtener más información sobre los valores de este parámetro, vea AuthenticationLevel (enumeración) en MSDN Library.
Type: | AuthenticationLevel |
Aliases: | Authentication |
Accepted values: | Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Force
Fuerza el apagado inmediato de los equipos.
Type: | SwitchParameter |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Impersonation
Especifica el nivel de suplantación que se va a usar cuando este cmdlet llama a WMI. Stop-Computer usa WMI. Los valores permitidos para este parámetro son los siguientes:
- Predeterminada. Suplantación predeterminada.
- Anonymous. oculta la identidad de la persona que llama.
- Identify. Permite que los objetos consulten las credenciales de la persona que llama.
- Impersonate. permite que los objetos usen las credenciales de la persona que llama.
El valor predeterminado es Suplantar.
Type: | ImpersonationLevel |
Accepted values: | Default, Anonymous, Identify, Impersonate, Delegate |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-Protocol
Especifica el protocolo que se usa para reiniciar los equipos. Los valores aceptables para este parámetro son: WSMan y DCOM. El valor predeterminado es DCOM.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | String |
Accepted values: | DCOM, WSMan |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-ThrottleLimit
Especifica el número máximo de operaciones simultáneas que se pueden establecer para ejecutar este comando. Si omite este parámetro o escribe un valor 0, se usa el valor predeterminado, 32.
El límite solo se aplica al comando actual, no a la sesión ni al equipo.
Type: | Int32 |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WhatIf
Muestra lo que sucedería si se ejecutara el cmdlet. El cmdlet no se ejecuta.
Type: | SwitchParameter |
Aliases: | wi |
Position: | Named |
Default value: | False |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
-WsmanAuthentication
Especifica el mecanismo que se usa para autenticar las credenciales de usuario cuando este cmdlet usa el protocolo WSMan. Los valores permitidos para este parámetro son los siguientes:
- Básico
- CredSSP
- Default
- Digest
- Kerberos
- Negotiate.
El valor predeterminado es Default.
Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism (enumeración) en MSDN Library.
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 el riesgo de seguridad de la operación remota. Si el equipo remoto se ve comprometido, las credenciales que se pasen a él se pueden utilizar para controlar la sesión de red.
Este parámetro se incorporó en Windows PowerShell 3.0.
Type: | String |
Accepted values: | Default, Basic, Negotiate, CredSSP, Digest, Kerberos |
Position: | Named |
Default value: | None |
Required: | False |
Accept pipeline input: | False |
Accept wildcard characters: | False |
Entradas
None
No se puede canalizar la entrada a este cmdlet.
Salidas
None or System.Management.Automation.RemotingJob
El cmdlet devuelve un objeto System.Management.Automation.RemotingJob , si especifica el parámetro AsJob . De lo contrario, este cmdlet no genera resultados de ningún tipo.
Notas
- Este cmdlet usa el método Win32Shutdown de la Win32_OperatingSystem clase WMI.
- En Windows PowerShell 2.0, el parámetro AsJob no funciona bien cuando está reiniciando o deteniendo equipos remotos. En Windows PowerShell 3.0, se cambia la implementación para resolver este problema.