J'ai un script ps1 pour récupérer des informations de l'environnement du cluster vmware.
À certains endroits du script ps1, la touche , TOUCHEZ .
Alors, comment faire ça?
-Merci
Si je comprends bien, vous voulez que PowerShell envoie le ENTREZ à une application interactive?
$wshell = New-Object -ComObject wscript.Shell;
$wshell.AppActivate('title of the application window')
Sleep 1
$wshell.SendKeys('~')
Si cette application interactive est un script PowerShell, utilisez simplement ce qui se trouve dans la barre de titre de la fenêtre PowerShell comme argument de AppActivate (par défaut, le chemin d'accès à powershell.exe). Pour éviter toute ambiguïté, vous pouvez demander à votre script de renommer sa propre fenêtre à l'aide de la commande title 'new window title'
commande.
Quelques notes:
{ENTER}
, bien qu'ils ne soient pas identiques - c'est la touche [~ ~ ~]] du clavier [~ # ~]. Une liste complète est disponible ici: http://msdn.Microsoft.com/en-us/library/office/aa202943%28v=office.10%29.aspx .Sleep 1
_ instruction est d'attendre 1 seconde car la fenêtre prend quelques instants pour s'activer, et si vous appelez SendKeys immédiatement, les clés seront envoyées dans la fenêtre PowerShell ou nulle part.Parfois, la méthode SendKeys de wscript.Shell peut être un peu bizarre, donc si vous rencontrez des problèmes, remplacez la quatrième ligne ci-dessus par ceci:
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('~');