PsExecでPowerShellをリモート実行。

Windows2003サーバーでデプロイ作業を全自動にするべくリモートでコマンドを実行する方法を物色してたのですが、FreeSSHd+SharpSSHで玉砕。SUAはさすがに怖いのでもっとお手軽な方法を探してたらPsExecというのがあるらしい。

で、早速実行してみたらPowerShellを使うとShellの起動途中でハングアップしてるくさい。

でで、調べてみたら↓にあるような特殊な書き方をしないといけないらしい。

http://www.leeholmes.com/blog/UsingPowerShellAndPsExecToInvokeExpressionsOnRemoteComputers.aspx

なんで、リモートで"ls"を実行したい場合なんかは↓みたいな感じ。

./PsExec \\serverName cmd /c "echo . | powershell ls"

んで、サーバー同士では確認が取れたのでローカルからサーバーに投げてみたらアクセス拒否.....

もうシネ。いつになったらコマンド実行できるんだーーーーーー。

でも、このPsExecって管理者共有を使ってリモートのWindows/system32にコピった後に、サービスを登録してコマンド実行してサービスを消すって事をしてるらしい。いろんな意味ですごいな。