トップ回答者
リモートコンピュータ上でWindowsプログラム(ユーザーインターフェイスを持つプログラム)を起動さたい

質問
-
環境(接続するPC、接続されるPCとも同じ)
OS:Windows 7
PowerShell:2.0
・行いたいこと
PowerShellを用いて、接続するPC(自分の操作するPC)から、
接続されるPC上の任意のWindowsプログラム(ユーザーインターフェイスを持つプログラム)
例えば C:\Windows\System32\calc.exe などを起動したいと考えております。
New-PSSession で固定接続を作成し、
Invoke-Command の ScriptBlock に接続されるPC上の実行ファイルのフルパスを指定しております。
接続されるPC上でタスクマネージャーを起動し、
接続するPCで Invoke-Command を実行した時に
calc.exe のプロセスが立ち上がることは確認できたのですが、
Windowsプログラムの画面が表示されません。
また、get-help about_remote_faq に、以下の記述があることは確認しております。
「ただし、Windows PowerShell コマンドを使用してリモート コンピューター上の
プログラムのユーザー インターフェイスを開くことはできません。」
PowerShellを用いて、他のPCのWindowsプログラムを起動し、
画面表示させることはできないのでしょうか。
または、PowerShell 以外の方法でも結構ですので、
同様の動作を実現できる方法がありましたら、
技術や処理概要の名称等でも結構ですので教えていただけませんでしょうか。
<# 処理例 #>
$hostname = "PCNAME"
$username = "USERNAME"
$password = "PASSWORD"
$sec_str = ConvertTo-SecureString $password -AsPlainText -Force
$psc = New-Object System.Management.Automation.PsCredential($username, $sec_str)
$sess = New-PSSession -ComputerName $hostname -Credential $psc
$retJob = Invoke-Command -Session $sess -AsJob -ScriptBlock { Start-Process -FilePath C:\Windows\System32\calc.exe }
回答
-
https://technet.microsoft.com/ja-jp/sysinternals/psexec.aspx
上記のツールを使えば可能なようです。
例えば下記のようなコマンドを使います。
psexec \\リモートコンピュータ名 -u ユーザー名 -p パスワード -s -i セッションID "calc"
※セッションIDはリモート先のコンピュータで「query session」コマンドで得られるIDを指定してください。
すべての返信
-
https://technet.microsoft.com/ja-jp/sysinternals/psexec.aspx
上記のツールを使えば可能なようです。
例えば下記のようなコマンドを使います。
psexec \\リモートコンピュータ名 -u ユーザー名 -p パスワード -s -i セッションID "calc"
※セッションIDはリモート先のコンピュータで「query session」コマンドで得られるIDを指定してください。