0

リモート マシンでコマンド プロンプトを開くための PowerShell コードを作成しています。これは正常に動作しますが、そのウィンドウのタイトルを設定する方法が見つからないようです。そのため、リモート クライアントに接続していることがわかります。

$ComputerName = 'HostName'

Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho"

よく知らTITLE $ComputerNameれているものを最後に追加してみましたが、何も変わりません。タイトルを設定できない場合は、ウィンドウにコメントを付けて、接続しているホスト名を確認するとよいでしょう。

4

2 に答える 2

2

PowerShell ウィンドウのタイトルは、$Host変数を介して変更できます。

$ComputerName = 'HostName'

$Host.UI.RawUI.WindowTitle = $ComputerName

Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho"

編集:新しいウィンドウを生成することが難しい要件ではない場合は、上記のように PowerShell ウィンドウのタイトルを変更し、winrsインラインで実行できます ( call operator を使用&):

$ComputerName = 'HostName'
$Host.UI.RawUI.WindowTitle = $ComputerName
& winrs /r:$ComputerName.domain.net cmd /noprofile /noecho

それ以外の場合は、新しい PowerShell ウィンドウを生成し、そのウィンドウで上記を実行できます。

$ComputerName = 'HostName'
Start-Process 'powershell.exe' -ArgumentList "&{`$Host.UI.RawUI.WindowTitle = '$ComputerName'; & winrs /r:$ComputerName.domain.net cmd /noprofile /noecho}"

この場合、その変数の早すぎる展開を防ぐために$inをエスケープする必要があることに注意してください$Host(親プロセスではなく、子プロセスで展開する必要があります)。

于 2015-07-29T12:45:45.880 に答える
0

これは、「WinRS で開始されたウィンドウを操作するにはどうすればよいですか?」に関するものであるため、実際には PowerShell の質問ではありません。

そうは言っても、WinRS が所有するウィンドウのタイトルをまったく変更できないようです。作成したウィンドウで "Title " を手動で実行しても何も起こらないからです。ただし、起動コマンドを次のように変更することで、コメントを簡単に投稿できるようになります。

Start-Process 'winrs' -ArgumentList "/r:$ComputerName.domain.net cmd /noprofile /noecho /k echo $ComputerName"

それが役立つことを願っています。

于 2015-07-29T14:27:36.333 に答える