Arrêt/redémarrage de commande à l'aide d'une variable en powershell

Je suis en train de travailler sur une interface graphique redémarrage modul à un outil de mine.
Je veux utiliser l'invite de commande "shutdown" de la ligne de commande pour cette.
Son objectif est de remplacer le "shutdown-i" sur de multiples serveurs et ensuite je peux faire un ping automatiquement pour vérifier si le redémarrage a été un vrai succès.

Dans CMD de la ligne de commande ressemble à ceci:

shutdown /r /t 30 /m \\server /c "reboot reason"

Dans mon script je vais demander à l':

  • raison = $commentaire
  • temps = $temps (la valeur et aussi dans une case, si c'est nécessaire ou pas)
  • nom du serveur = $server

Je vais tester avec un peu de "si"s l'option heure, est-il coché ou non et que le redémarrage de raison n'est pas vide, puis ajoutez-les tous dans une variable:

$reboot = "/r /t " + $time + "/m \\" + $server + "/c " + $comment

et ensuite utiliser la variable dans la commande powershell:

& shutdown $reboot

Ma question est ce travail? Quelqu'un l'utiliser comme ça? Ou il y a une meilleure façon de le faire?
Je ne peux pas le tester pendant quelques jours parce que je n'ai pas de serveurs sur le réseau que je peux redémarrer feely.

  • Je pense que ce que vous avez devrait fonctionner, mais vous pouvez également utiliser la Stop-Computer applet de commande qui est là pour la même raison . Bien que vous ne pouvez pas sembler obtenir des commentaires que
  • Merci pour l'idée. J'ai regardé dans le redémarrage de l'ordinateur de commande, et il semble assez variable "frindly" mais cand pas à trouver le "commentaire" de l'option (c'est a doit avoir le terrain pour moi) C'est la Syntaxe que je v trouvé: Arrêt de l'Ordinateur [[-Nom_ordinateur] string[]] [[-Credential] PSCredential] [Authentification AuthenticationLevel] [-usurpation d'identité ImpersonationLevel] [-AsJob] [-Force] [-ThrottleLimit int] [-Confirm] [-WhatIf] [CommonParameters]
InformationsquelleAutor Zsolt | 2015-02-23