[解決済み] powershell内でキーストロークを実行する方法は?
2022-03-09 20:53:46
質問
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}
しかし、これはキーパッドの ENTER キーです。全リストはこちらでご覧いただけます。 http://msdn.microsoft.com/en-us/library/office/aa202943%28v=office.10%29.aspx . -
の理由は
Sleep 1
文は、ウィンドウがアクティブになるのに時間がかかるので、1秒待つようにします。 キー送信 をすぐに実行すると、PowerShell ウィンドウにキーが送信されるか、どこにも送信されなくなります。 - もし、待機中に何か入力したりマウスをクリックしたりすると、この動作に支障をきたす可能性があることに注意してください。 アプリアクティベート をアクティブにします。あなたのシステムで確実に十分な最小限の時間を見つけるために、時間を減らすことを実験することができます ( スリープ は小数を受け付けるので、0.5で0.5秒を試すことができます)。私の2.6GHz Core i7 Win7ノートパソコンでは、0.8秒以下ではかなりの確率で失敗することが分かっています。私は安全のために1秒を使用しています。
- 重要な警告 このメソッドを使ってパスワードを送信する場合は、特に注意してください。 AppActivate を起動し キー送信 を実行すると、パスワードがプレーンテキストでその別のウィンドウに送信されます!
時々 wscript.shell 's 送信キー メソッドは少し癖があるため、問題が発生した場合は、上記の4行目を以下のように置き換えてください。
Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.SendKeys]::SendWait('~');
関連
-
[解決済み] Powershell ISE 内の別の PS1 スクリプトから PowerShell スクリプト PS1 を呼び出す
-
[解決済み] インストールされたPowerShellのバージョンを確認する
-
[解決済み] PowerShellで「このシステムではスクリプトの実行が無効になっています」と言われる。
-
[解決済み] PowerShellでコードをコメントアウトする方法とは?
-
[解決済み] Windows PowerShellの環境変数を設定する
-
[解決済み] 現在のPowerShellスクリプトの場所を特定する最良の方法は何ですか?
-
[解決済み] PowerShellスクリプトに引数を渡すにはどうしたらいいですか?
-
[解決済み] PowerShellを使用して管理者としてコマンドを実行しますか?
-
[解決済み】PowerShellスクリプトを実行する方法
-
[解決済み】PowerShellで、ファイルに関数を定義して、PowerShellのコマンドラインから呼び出すにはどうしたらいいですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】Powershell: 引数 "xxx" を受け入れる位置パラメーターが見つからない。
-
[解決済み] Powershellを使用します。PowerShellでパスを再読み込みする
-
[解決済み] 'Connect-MsolService' はコマンドレット名として認識されません。
-
[解決済み] PowerShellで改行するには?
-
[解決済み] PowerShellでコンソールに書き込むには?
-
[解決済み] PowerShell モジュールを全ユーザーに持続的にインストールする
-
[解決済み] 配列、ハッシュテーブル、ディクショナリーを作成しますか?
-
[解決済み] 実行中のPowerShellスクリプトからすべての環境変数を表示する
-
[解決済み] PowerShellスクリプトのファイルシステムの場所を取得するにはどうすればよいですか?
-
[解決済み] powershell内でキーストロークを実行する方法は?