LinuxでコンソールからWindowsを操作しよう!PSexecのLinux版『winexe』コマンド

以前、Windowsに対してコマンド操作を行うツール『PSexec』について紹介したことがあったが、今回はそのLinux版のコマンド『winexe』を紹介する。

1.インストール

それでは、まずはインストールしてみよう。
各OS(Ubuntu/CentOS/Mac OS X)ごとに、以下のようにインストールを行う。

1-1.Ubuntu/Debianの場合

以下のコマンドを実行する。

wget http://download.opensuse.org/repositories/home:/uibmz:/opsi:/opsi40-testing/xUbuntu_12.04/amd64/winexe_1.00.1-1_amd64.deb
sudo dpkg --install winexe_1.00.1-1_amd64.deb

1-2.RHEL系(CentOSなど)の場合

以下のコマンドを実行する。
(検証はCentOS 6)

wget http://od-autoassess.googlecode.com/files/winexe_x86_64.tar.gz
tar xzvf winexe_x86_64.tar.gz
mv ./winexe /usr/bin/
chmod +x /usr/bin/winexe

1-3.Mac OS Xの場合

以下のコマンドを実行する。

brew install winexe

2.実行

さて、それでは実際にコマンドを実行してみよう。
基本的には、以下のようにコマンドを実行する。

winexe -U ユーザ名 //対象サーバのホスト名(IPアドレス) 対象サーバで実行するプログラム

パスワードを一行で入力する場合は、以下のようにする。

winexe -U ユーザ名%パスワード //対象サーバのホスト名(IPアドレス) 対象サーバで実行するプログラム

なお、WindowsのコマンドプロンプトのエンコードはSJISのため、UTF-8で実行させる場合は以下のようにすると良いだろう。

winexe -U ユーザ名%パスワード //対象サーバのホスト名(IPアドレス) 対象サーバで実行するプログラム | iconv -f SJIS -t UTF-8

PSexecと同様、相手先のcmd.exeに直接接続することもできる。

winexe -U ユーザ名%パスワード //対象サーバのホスト名(IPアドレス) cmd.exe

しかし、PStoolsでの使い勝手とは違い、バックスペースが正常に動作しない(^Hで表されてしまう)などの点があるので注意。