Partager via


Restart-Computer

Redémarre le système d’exploitation sur les ordinateurs locaux et distants.

Syntaxe

DefaultSet (Par défaut)

Restart-Computer
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-DcomAuthentication <AuthenticationLevel>]
    [-Impersonation <ImpersonationLevel>]
    [-WsmanAuthentication <String>]
    [-Protocol <String>]
    [-Force]
    [-Wait]
    [-Timeout <Int32>]
    [-For <WaitForServiceTypes>]
    [-Delay <Int16>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

AsJobSet

Restart-Computer
    [[-ComputerName] <String[]>]
    [[-Credential] <PSCredential>]
    [-AsJob]
    [-DcomAuthentication <AuthenticationLevel>]
    [-Impersonation <ImpersonationLevel>]
    [-Force]
    [-ThrottleLimit <Int32>]
    [-WhatIf]
    [-Confirm]
    [<CommonParameters>]

Description

L’applet de commande Restart-Computer redémarre le système d’exploitation sur les ordinateurs locaux et distants.

Vous pouvez utiliser les paramètres de Restart-Computer pour exécuter les opérations de redémarrage en tant que travail en arrière-plan, pour spécifier les niveaux d’authentification et les autres informations d’identification, pour limiter les opérations qui s’exécutent en même temps et forcer un redémarrage immédiat.

À compter de Windows PowerShell 3.0, vous pouvez attendre la fin du redémarrage avant d’exécuter la commande suivante. Spécifiez un délai d’attente et un intervalle de requête, puis attendez que des services particuliers soient disponibles sur l’ordinateur redémarré. Cette fonctionnalité permet d’utiliser des Restart-Computer dans les scripts et les fonctions.

Vous pouvez utiliser le protocole WS-Management (WSMan) pour redémarrer l’ordinateur, au cas où les appels DCOM (Distributed Component Object Model) sont bloqués, par exemple par un pare-feu d’entreprise. Pour plus d’informations, consultez WS-Management protocole.

Cette applet de commande nécessite la communication à distance Windows PowerShell uniquement lorsque vous utilisez le paramètre AsJob dans une commande.

Exemples

Exemple 1 : Redémarrer l’ordinateur local

Restart-Computer redémarre l’ordinateur local.

Restart-Computer

Exemple 2 : Redémarrer plusieurs ordinateurs

Restart-Computer peut redémarrer des ordinateurs distants et locaux. Le paramètre ComputerName accepte un tableau de noms d’ordinateurs.

Restart-Computer -ComputerName Server01, Server02, localhost

Exemple 3 : Redémarrer les ordinateurs en tant que travail en arrière-plan

Ces commandes exécutent une commande Restart-Computer en tant que travail en arrière-plan sur deux ordinateurs distants, puis obtiennent les résultats.

Étant donné que AsJob crée le travail sur l’ordinateur local et retourne automatiquement les résultats à l’ordinateur local, vous pouvez exécuter Receive-Job en tant que commande locale.

$Job = Restart-Computer -ComputerName "Server01", "Server02" -AsJob
$Job | Receive-Job

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01 et Server02. Le paramètre AsJob exécute la commande en tant que travail en arrière-plan. L’objet de travail est stocké dans la variable $Job. $Job est envoyé au pipeline à l’applet de commande Receive-Job qui obtient les résultats.

Exemple 4 : Redémarrer un ordinateur distant

Restart-Computer redémarre un ordinateur distant avec des paramètres d’emprunt d’identité et d’authentification personnalisés.

Restart-Computer -ComputerName Server01 -Impersonation Anonymous -DcomAuthentication PacketIntegrity

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01. Le paramètre Impersonation spécifie Anonymous pour masquer l’identité du demandeur. Le paramètre DcomAuthentication spécifie PacketIntegrity comme niveau d’authentification de la connexion.

Exemple 5 : Forcer le redémarrage des ordinateurs répertoriés dans un fichier texte

Cet exemple force un redémarrage immédiat des ordinateurs répertoriés dans le fichier Domain01.txt. Les noms d’ordinateurs du fichier texte sont stockés dans une variable. Le paramètre Forcer force un redémarrage immédiat et le paramètre ThrottleLimit limite le nombre de connexions simultanées.

$Names = Get-Content -Path C:\Domain01.txt
$Creds = Get-Credential
Restart-Computer -ComputerName $Names -Credential $Creds -Force -ThrottleLimit 10

Get-Content utilise le paramètre Path pour obtenir la liste des noms d’ordinateurs à partir d’un fichier texte, Domain01.txt. Les noms d’ordinateurs sont stockés dans la variable $Names. Get-Credential vous invite à entrer un nom d’utilisateur et un mot de passe et stocke les valeurs dans la variable $Creds. Restart-Computer utilise les paramètres ComputerName et Credential avec leurs variables. Le paramètre Forcer provoque un redémarrage immédiat de chaque ordinateur. Le paramètre ThrottleLimit limite la commande à 10 connexions simultanées.

Exemple 6 : Redémarrer un ordinateur distant et attendre PowerShell

Restart-Computer redémarre l’ordinateur distant, puis attend jusqu’à 5 minutes (300 secondes) pour que PowerShell soit disponible sur l’ordinateur redémarré avant de continuer.

Restart-Computer -ComputerName Server01 -Wait -For PowerShell -Timeout 300 -Delay 2

Restart-Computer utilise le paramètre ComputerName pour spécifier Server01. Le paramètre Wait attend la fin du redémarrage. La For spécifie que PowerShell peut exécuter des commandes sur l’ordinateur distant. Le paramètre Timeout spécifie une attente de cinq minutes. Le paramètre Delay interroge l’ordinateur distant toutes les deux secondes pour déterminer s’il est redémarré.

Exemple 7 : Redémarrer un ordinateur à l’aide du protocole WSMan

Restart-Computer redémarre l’ordinateur distant à l’aide du protocole WSMan au lieu de la DCOM par défaut. L’authentification Kerberos détermine si l’utilisateur actuel est autorisé à redémarrer l’ordinateur distant.

Ces paramètres sont conçus pour les entreprises dans lesquelles les redémarrages basés sur DCOM échouent, car DCOM est bloqué. Par exemple, par un pare-feu.

Restart-Computer -ComputerName Server01 -Protocol WSMan -WsmanAuthentication Kerberos

Restart-Computer utilise le paramètre ComputerName pour spécifier l’ordinateur distant, Server01. Le paramètre Protocol spécifie d’utiliser le protocole WSMan. Le paramètre WsmanAuthentication spécifie la méthode d’authentification en tant que Kerberos.

Paramètres

-AsJob

Indique que Restart-Computer s’exécute en tant que travail en arrière-plan.

Pour utiliser ce paramètre, les ordinateurs locaux et distants doivent être configurés pour la communication à distance. Sur Windows Vista et les versions ultérieures du système d’exploitation Windows, vous devez ouvrir PowerShell à l’aide de l’option Exécuter en tant qu’administrateur. Pour plus d'informations, voir about_Remote_Requirements.

Lorsque vous spécifiez le paramètre AsJob, la commande retourne immédiatement un objet qui représente le travail en arrière-plan. Vous pouvez continuer à travailler dans la session pendant la fin du travail. Le travail est créé sur l’ordinateur local et les résultats des ordinateurs distants sont automatiquement retournés à l’ordinateur local. Pour gérer le travail, utilisez les applets de commande Job. Pour obtenir les résultats du travail, utilisez l’applet de commande Receive-Job.

Pour plus d’informations sur les travaux en arrière-plan Windows PowerShell, consultez about_Jobs et about_Remote_Jobs.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

AsJobSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ComputerName

Spécifie un nom d’ordinateur ou un tableau séparé par des virgules de noms d’ordinateurs. Restart-Computer accepte des objets ComputerName à partir du pipeline ou des variables.

Tapez le nom NetBIOS, une adresse IP ou un nom de domaine complet d’un ordinateur distant. Pour spécifier l’ordinateur local, tapez le nom de l’ordinateur, un point .ou localhost.

Ce paramètre ne repose pas sur la communication à distance de PowerShell. Vous pouvez utiliser le paramètre ComputerName même si votre ordinateur n’est pas configuré pour exécuter des commandes distantes.

Si le paramètre ComputerName n’est pas spécifié, Restart-Computer redémarre l’ordinateur local.

Propriétés du paramètre

Type:

String[]

Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:CN, __SERVEUR, Serveur, adresse IP

Jeux de paramètres

(All)
Position:0
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-Confirm

Vous invite à confirmer avant d’exécuter Restart-Computer.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:cf

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Credential

Spécifie un compte d’utilisateur autorisé à effectuer cette action. La valeur par défaut est l’utilisateur actuel.

Tapez un nom d’utilisateur, tel que User01 ou Domain01\User01, ou entrez un objet PSCredential généré par l’applet de commande Get-Credential. Si vous tapez un nom d’utilisateur, vous êtes invité à entrer le mot de passe.

Les informations d’identification sont stockées dans un objet PSCredential et le mot de passe est stocké en tant que SecureString.

Remarque

Pour plus d’informations sur la protection des données de SecureString, consultez Quelle est la sécurité de SecureString ?.

Propriétés du paramètre

Type:PSCredential
Valeur par défaut:Current user
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:1
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-DcomAuthentication

Spécifie le niveau d’authentification utilisé pour la connexion WMI. Restart-Computer utilise WMI.

Les valeurs valides sont les suivantes :

  • d’appel : Authentification COM au niveau de l’appel
  • Connect: Authentification COM au niveau de la connexion
  • par défaut : Authentification Windows
  • Aucun: aucune authentification COM
  • paquets : Authentification COM au niveau du paquet.
  • PacketIntegrity: Authentification COM au niveau de l’intégrité des paquets
  • packetPrivacy: Authentification COM au niveau de la confidentialité des paquets.
  • inchangé : le niveau d’authentification est identique à la commande précédente.

Pour plus d’informations, consultez 'énumération AuthenticationLevel.

Ce paramètre est introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:AuthenticationLevel
Valeur par défaut:None
Valeurs acceptées:Default, None, Connect, Call, Packet, PacketIntegrity, PacketPrivacy, Unchanged
Prend en charge les caractères génériques:False
DontShow:False
Alias:Authentification

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Delay

Spécifie la fréquence des requêtes, en secondes. PowerShell interroge le service spécifié par le paramètre For pour déterminer si le service est disponible après le redémarrage de l’ordinateur.

Ce paramètre est valide uniquement avec les paramètres Wait et For parameters.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Si le paramètre Delay n’est pas spécifié, Restart-Computer utilise un délai de cinq secondes.

Propriétés du paramètre

Type:Int16
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-For

Spécifie le comportement de PowerShell lorsqu’il attend que le service ou la fonctionnalité spécifiés devienne disponible après le redémarrage de l’ordinateur. Ce paramètre est valide uniquement avec le paramètre Wait.

Les valeurs acceptables pour ce paramètre sont les suivantes :

  • par défaut : attend que PowerShell redémarre.
  • PowerShell: peut exécuter des commandes dans une session à distance PowerShell sur l’ordinateur.
  • WMI : reçoit une réponse à une requête de Win32_ComputerSystem pour l’ordinateur.
  • winRM: peut établir une session à distance sur l’ordinateur à l’aide de WS-Management.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:WaitForServiceTypes
Valeur par défaut:None
Valeurs acceptées:Wmi, WinRM, PowerShell
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Force

Force un redémarrage immédiat de l’ordinateur.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:f

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Impersonation

Spécifie le niveau d’emprunt d’identité que cette applet de commande utilise pour appeler WMI. Restart-Computer utilise WMI. Les valeurs acceptables pour ce paramètre sont les suivantes :

  • par défaut : emprunt d’identité par défaut. Malgré le nom, ce n’est pas la valeur par défaut.
  • anonyme : masque l’identité de l’appelant.
  • Identifier: permet aux objets d’interroger les informations d’identification de l’appelant.
  • emprunt d’identité: permet aux objets d’utiliser les informations d’identification de l’appelant.

Propriétés du paramètre

Type:ImpersonationLevel
Valeur par défaut:None
Valeurs acceptées:Default, Anonymous, Identify, Impersonate, Delegate
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Protocol

Spécifie le protocole à utiliser pour redémarrer les ordinateurs. Les valeurs valides sont WSMan et DCOM .

Ce paramètre est introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:DCOM, WSMan
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-ThrottleLimit

Spécifie le nombre maximal de connexions simultanées qui peuvent être établies pour exécuter cette commande. La limite de limitation s’applique uniquement à la commande actuelle, et non à la session ou à l’ordinateur.

Si le paramètre ThrottleLimit n’est pas spécifié ou qu’une valeur de 0 est utilisée, Restart-Computer utilise au maximum 32 connexions simultanées.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

AsJobSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Timeout

Spécifie la durée de l’attente, en secondes. Lorsque le délai d’expiration s’écoule, Restart-Computer retourne à l’invite de commandes, même si les ordinateurs ne sont pas redémarrés.

Le paramètre Timeout est valide uniquement avec le paramètre Wait. Timeout remplace le délai d’attente indéfini du paramètre Wait.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:Int32
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:TimeoutSec

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Wait

Restart-Computer supprime l’invite PowerShell et bloque le pipeline jusqu’à ce que les ordinateurs aient redémarré. Vous pouvez utiliser ce paramètre dans un script pour redémarrer les ordinateurs, puis continuer à traiter une fois le redémarrage terminé.

Le paramètre Wait attend indéfiniment que les ordinateurs redémarrent. Vous pouvez utiliser Timeout pour ajuster le minutage et les paramètres For et Delay pour attendre que des services particuliers soient disponibles sur les ordinateurs redémarrés.

Le paramètre Wait n’est pas valide lorsque vous redémarrez l’ordinateur local. Si la valeur du paramètre ComputerName contient les noms des ordinateurs distants et de l’ordinateur local, Restart-Computer génère une erreur de non-fin pour Wait sur l’ordinateur local, mais attend que les ordinateurs distants redémarrent.

Ce paramètre a été introduit dans Windows PowerShell 3.0.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WhatIf

Montre ce qui se passerait si le Restart-Computer fonctionne. L’applet de commande Restart-Computer n’est pas exécutée.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:Wi

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-WsmanAuthentication

Spécifie le mécanisme utilisé pour authentifier les informations d’identification de l’utilisateur. Ce paramètre a été introduit dans Windows PowerShell 3.0.

Les valeurs acceptables pour ce paramètre sont : de base, CredSSP, Par défaut, Digest, Kerberoset Négocier.

Pour plus d’informations, consultez AuthenticationMechanism.

Avertissement

L’authentification CredSSP (Credential Security Service Provider), dans laquelle les informations d’identification de l’utilisateur sont transmises à un ordinateur distant à authentifier, est conçue pour les commandes qui nécessitent une authentification sur plusieurs ressources, telles que l’accès à un partage réseau distant. Ce mécanisme augmente le risque de sécurité de l’opération à distance. Si l’ordinateur distant est compromis, les informations d’identification qui lui sont transmises peuvent être utilisées pour contrôler la session réseau.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Valeurs acceptées:Basic, CredSSP, Default, Digest, Kerberos, Negotiate
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

DefaultSet
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

Vous pouvez diriger une chaîne contenant un nom d’ordinateur vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

System.Management.Automation.RemotingJob

Lorsque vous utilisez le paramètre AsJob, cette applet de commande retourne un objet de travail.

Notes

  • Restart-Computer fonctionne uniquement sur les ordinateurs exécutant Windows et nécessite WinRM et WMI pour arrêter un système, y compris le système local.
  • Restart-Computer utilise la méthode Win32Shutdown de la classe Win32_OperatingSystem Windows Management Instrumentation (WMI). Cette méthode nécessite que le privilège SeShutdownPrivilege soit activé pour le compte d’utilisateur utilisé pour redémarrer l’ordinateur.

Dans Windows PowerShell 2.0, le paramètre AsJob ne fonctionne pas de manière fiable lorsque vous redémarrez ou arrêtez des ordinateurs distants. Dans Windows PowerShell 3.0, l’implémentation est modifiée pour résoudre ce problème.