Linuxでrdesktop
ツールを使用してWindowsコマンドを実行することは可能ですか? rdesktop -s
オプションを試してみました:
rdesktop -u user -p 10.0.0.2 -s "cmd.exe"
しかし、上記のコマンドを使用してcmd.exe
を開くことができません。また、フルパスで試しました。
rdesktop -u user -p'password' 10.0.0.2 -s "C:\WINDOWS\system32\cmd.exe"
ただし、-s
を使用しても、RDPセッションに違いはありません。
LinuxからWindowsでqwinsta /server
を使用してRDPセッションのリストを取得しようとしています。
rdesktop
を使用した解決策はありませんが、Linuxでwinexe
というプログラムを使用して、Windowsマシンでリモートコマンドを実行しています。次のURLからアプリケーションを取得するか、ディストリビューションのソフトウェアリポジトリシステムを使用してインストールできます。
更新:SSL証明書は上記のsourceforgeリンクに対して自己署名されているため、別のリンクを提供します。
次に使用例を示します。
winexe -A credentials.cfg //remotehost "qwinsta /server"
次のように、ログイン情報を含むcredentials.cfgファイルを作成します。
username=user
password=pass
domain=workplace
該当する場合のみドメインを指定してください。ログイン資格情報(特にパスワード)をコマンドラインに入力しないことをお勧めします。インタラクティブなプロンプトが必要な場合は、上記の例を使用してcmd.exe
を実行してみてください。このアプローチのいいところは、リモートコマンドの出力をLinuxスクリプトで使用したり、出力をgrepしたりできることです。
コンピューターにアクセスできる場合は、sshサーバーをインストールします。 Linuxでは、たとえばOverlook-Fingを使用してコンピューターのIPを見つけることができます。次に、Linuxシェルにssh username@ipaddress
と入力します。
例:
ssh [email protected]
次に、ユーザーのパスワードを入力すると、コンピューターのWindowsコマンドプロンプトにアクセスできるはずです。 telnetを使用することもできますが、sshは暗号化されています。
今日から、RemoteApp機能でxfreerdp
を使用して特定のソフトウェアを実行できます。
xfreerdp
をインストールします。 Ubuntu、Debian、Fedora、OpenSUSE、およびmacOS用の ready-to-useビルド があります。xfreerdp /u:user /d:domain /p:password /app:"||calc" /v:server
を実行します:/u:
- Windowsユーザー/d:
-ドメイン(ADに参加していない場合はWORKGROUP
の可能性があります)/p:
- Windowsパスワード/app:"||calc"
-実行するアプリ。 cmd
にすることもできます/v:
- WindowsホストのIPアドレスまたはホスト名。私はcollectnode
を開発しました。これはwinrm
プロトコルを使用してWindowsに接続します。
まず、hostsファイルを作成します。
# cat hosts.file
[group1:vars]
nodetype=windows
[group1]
server1
server2
server3
server4
server5
2番目:CollectNodeで資格情報を構成する
# collectnode --configure
Do you want to change the localhost User ? [y/n]: n
Do you want to change the UNIX/LINUX User used the connect to the servers? [y/n]: n
Do you want to change the WINDOWS User used the connect to the servers? [y/n]: y
Enter user name: Administrator
Enter password:
Enter domain|realm [none]: none
Enter transport mode (basic|ntlm|kerberos) [kerberos]: ntlm
Current path: /var/log/
Do you want to change the current path for log file? [y/n]: n
3番目:これらのサーバーで必要なコマンドを実行します。
# collectnode --file hosts.file --command='whatever command you need'
https://collectnode.com/executing-commands-on-remote-windows-from-linux-terminal/