2021年7月12日月曜日

PsExec 備忘録

RemoteDesktop 接続じゃなく GUI アプリを動かせないか調べていたら、PsExec を使えばGUI アプリが動くみたいに書いてあるのを見つけて、本当かな?と思いながらも、試してみました。
その忘備録。

ローカルのコンピュータ上だと

  D:\usr\Psexec>psexec -i -u MY_ACTIVE_DIRECTORY_NAME\MY_ACCOUNT_NAME -p *********  \\MY_MACHINE_NAME notepad

  PsExec v2.34 - Execute processes remotely
  Copyright (C) 2001-2021 Mark Russinovich
  Sysinternals - www.sysinternals.com

  notepad exited with error code 0.

というように動作しました。

REMOTE_SERVER_MACHINE_NAME のコンピュータに対してだと
上記方法では動作しません。

UACが有効だと動作しないという事だったので
reg add "HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System" /v "LocalAccountTokenFilterPolicy" /t REG_DWORD /d 1

をリモートサーバ上で実行して UACをオフにし、ファイヤーウォールをオフにして試してみましたが、動作しません。

 認証の方法が厳密になったようで、psexec の引数でログイン認証はできないらしく、 cmdkey というもので資格情報を得ながらコマンド実行する事で、コマンドのプログラムは実行できました(コマンドプロンプトは管理者権限で開いて実行しています)。

 D:\usr\Psexec>cmdkey /add:REMOTE_SERVER_MACHINE_NAME /user:MY_ACTIVE_DIRECTORY_NAME\MY_ACCOUNT_NAME_admin /pass:*********

    CMDKEY: 資格情報を正しく追加しました。
    
 D:\usr\Psexec>psexec64 \\REMOTE_SERVER_MACHINE_NAME ipconfig

  PsExec v2.34 - Execute processes remotely
  Copyright (C) 2001-2021 Mark Russinovich
  Sysinternals - www.sysinternals.com

  Windows IP 構成

  イーサネット アダプター イーサネット 2:

   接続固有の DNS サフィックス . . . . .:
   IPv4 アドレス . . . . . . . . . . . .: 10.9.9.9
   サブネット マスク . . . . . . . . . .: 255.0.0.0
   デフォルト ゲートウェイ . . . . . . .: 10.10.0.1

  Tunnel adapter isatap.{CD764B44-40CC-4A3A-8B45-FF41F756EB20}:

   メディアの状態. . . . . . . . . . . .: メディアは接続されていません
   接続固有の DNS サフィックス . . . . .:
  ipconfig exited on REMOTE_SERVER_MACHINE_NAME with error code 0.


 

GUIアプリを動かすには、-i オプションが必要という事で同じく 実行しました。
しかしながら、実行ウィンドウが開かないまま終了しました。
  D:\usr\Psexec>psexec64 -i \\REMOTE_SERVER_MACHINE_NAME ipconfig

  PsExec v2.34 - Execute processes remotely
  Copyright (C) 2001-2021 Mark Russinovich
  Sysinternals - www.sysinternals.com

  ipconfig exited on REMOTE_SERVER_MACHINE_NAME with error code 0.

メモ帳を開いてみましたが

  D:\usr\Psexec>psexec64 -i \\REMOTE_SERVER_MACHINE_NAME notepad.exe

  PsExec v2.34 - Execute processes remotely
  Copyright (C) 2001-2021 Mark Russinovich
  Sysinternals - www.sysinternals.com


  となったまま永遠に制御が返ってくる気配がありません。
psexec は、ネット上でGUIアプリが動くと書かれていますが、
(過去には GUI が動作したのかもしれない)
CUI のためのコマンドで、GUIが使えるようなものではありませんでした。