VMwareクラスター環境からいくつかの情報を取得するps1スクリプトがあります。
Ps1スクリプトのある場所では、[〜#〜] enter [〜#〜]ボタンのキーストロークが必要です。
だから、それを行う方法は?
-ありがとう
正しく理解できれば、PowerShellで[〜#〜] enter [〜#〜]キーストロークを対話型アプリケーションに送信する必要がありますか?
$wshell = New-Object -ComObject wscript.Shell;
$wshell.AppActivate('title of the application window')
Sleep 1
$wshell.SendKeys('~')
その対話型アプリケーションがPowerShellスクリプトの場合、PowerShellウィンドウのタイトルバーにあるものをAppActivate(デフォルトではpowershell.exeへのパス)の引数として使用します。あいまいさを避けるために、title 'new window title'
コマンドを使用して、スクリプトに独自のウィンドウのタイトルを変更させることができます。
いくつかのメモ:
{ENTER}
を使用することもできますが、それらは同一ではありません-それはキーパッドの[〜#〜] enter [〜#〜]キーです。完全なリストはこちらから入手できます: http://msdn.Microsoft.com/en-us/library/office/aa202943%28v=office.10%29.aspx 。Sleep 1
ステートメントの理由は、ウィンドウがアクティブになるまで少し時間がかかるため1秒待つことです。また、SendKeysをすぐに呼び出すと、キーがPowerShellウィンドウに送信されます。 、またはどこにも。wscript.ShellのSendKeysメソッドは少し風変わりな場合があるため、問題が発生した場合は、上記の4行目を次のように置き換えてください。
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('~');