Compartir a través de


Stop-Computer

Detiene (apaga) equipos locales y remotos.

Sintaxis

Default (valor predeterminado)

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 un trabajo en segundo plano, 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 la comunicación remota de Windows PowerShell a menos que use el parámetro de 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 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 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 un 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 guardado 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 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 la suplantación personalizada y la configuración de autenticación.

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 un apagado inmediato de todos los equipos de 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 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 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 Windows PowerShell, consulte about_Jobs y about_Remote_Jobs.

Propiedades de parámetro

Tipo:SwitchParameter
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

-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 se basa en la comunicación remota de Windows 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, como uno del cmdlet Get-Credential.

Propiedades de parámetro

Tipo:PSCredential
Valor predeterminado:None
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. Los valores aceptables para este parámetro son:

  • Predeterminado. Autenticación de Windows
  • Ninguno. Sin 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
  • Inalterado. Igual que el comando anterior

El valor predeterminado es Packet.

Para obtener más información sobre los valores de este parámetro, consulte de enumeración AuthenticationLevel en MSDN Library.

Propiedades de parámetro

Tipo:AuthenticationLevel
Valor predeterminado:None
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 de los equipos.

Propiedades de parámetro

Tipo:SwitchParameter
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

-Impersonation

Especifica el nivel de suplantación que se va a usar cuando este cmdlet llama a WMI. 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 que los objetos usen las credenciales del autor de la llamada.

El valor predeterminado es Impersonate.

Propiedades de parámetro

Tipo:ImpersonationLevel
Valor predeterminado:None
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 Windows PowerShell 3.0.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
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. Los valores aceptables para este parámetro son:

  • Básico
  • CredSSP
  • Predeterminado
  • Resumen
  • Kerberos
  • Negociar.

El valor predeterminado es Default.

Para obtener más información sobre los valores de este parámetro, vea AuthenticationMechanism Enumeration 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 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 Windows PowerShell 3.0.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
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 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, no genera ninguna salida.

Notas

  • Este cmdlet usa el método Win32Shutdown de la clase WMI de Win32_OperatingSystem.
  • En Windows PowerShell 2.0, el parámetro AsJob no funciona de forma confiable al reiniciar o detener equipos remotos. En Windows PowerShell 3.0, la implementación se cambia para resolver este problema.