これは、sysinternals コマンドを実行しない Python スクリプトからの続きです。
私のスクリプトは入力を取ります
python ps.py sender-ip=10.10.10.10
送信者 IP は、変数 userIP に読み込まれます。ただし、次のサブプロセスに userIP を渡すと
pst = subprocess.Popen(
["D:\pstools\psloggedon.exe", "-l", "-x", "\\\\", userIP],
stdout = subprocess.PIPE,
stderr = subprocess.PIPE
)
out, error = pst.communicate()
userLoggedOn = out.split('\n')[1].strip()
print 'userId={}'.format(userloggedon)
スクリプトは出力します
userId=
サブプロセスに userIP を読み取らせて実行させるにはどうすればよいですか
D:\pstools\psloggedon.exe -l -x \\userIP
そして出力
userId=DOMAIN\user
編集
スクリプトを実行するコマンドラインは
python py.ps sender-ip=10.10.10.10
手動で実行すると
D:\PSTools\PsLoggedon.exe -l -x \\10.10.10.10
探している結果が得られます