rdesktopコマンドを使用してLinuxマシンからWindowsコマンドをリモートで実行する方法


20

rdesktopLinuxのツールを使用して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"

しかし、たとえ使用してもRDPセッションに違いはありません-s

qwinsta /serverLinuxからWindowsで使用しているRDPセッションのリストを取得しようとしています。


おそらく、デフォルトの管理者のみがprpceedに昇格せずにタスクを実行できるからです。他のアカウントは、適切な権限があれば管理者として機能します。


Windows用のpsexecツールを見たことがありますか?WINEの下で実行される場合があります。
jc__

回答:


5

コンピューターにアクセスできる場合は、sshサーバーをインストールします。Linuxでは、たとえばOverlook-Fingを使用してコンピューターのIPを見つけることができます。次にssh username@ipaddress、Linuxシェルに入力 します。

例:

ssh Lenovo@192.168.0.100

次に、ユーザーのパスワードを入力すると、コンピューターのWindowsコマンドプロンプトにアクセスできるはずです。telnetも使用できますが、sshは暗号化されます。


4

使用するソリューションはありませんが、Linuxでrdesktop呼び出されるプログラムを使用して、winexeWindowsマシンでリモートコマンドを実行します。次のURLからアプリケーションを取得するか、ディストリビューションのソフトウェアリポジトリシステムを使用してインストールします。

http://sourceforge.net/projects/winexe/

更新:SSL証明書は上記のsourceforgeリンク用に自己署名されているため、別のリンクを提供しています。

https://github.com/skalkoto/winexe

以下に使用例を示します。

winexe -A credentials.cfg //remotehost "qwinsta /server"

次のようなログイン情報を含むcredentials.cfgファイルを作成する必要があります。

username=user
password=pass
domain=workplace

該当する場合にのみ、ドメインを指定してください。ログイン資格情報(特にパスワード)をコマンドラインに入力しないことをお勧めします。cmd.exe対話型プロンプトが必要な場合は、上記の例を使用して実行してください。このアプローチの良い点は、Linuxスクリプトでリモートコマンドの出力を使用したり、出力をgrepできることです。


winexeでは、ユーザーは適切に機能するために「管理者」である必要がありますが、私の場合は、通常のRDPユーザーを使用しようとしているため、winexeは機能しません。
オーガスティン

@オーガスティン:「すべき」とはどういう意味ですか?あなたはどこかでそれを読みましたか、それを試してみましたが、ユーザー名がそれ以外の場合は動作しませんadministratorか?実際に試してみましたか?
バナンイン

WinexeはいくつかのパッケージをWindowsマシンにインストールしますが、それだけが機能し、通常のユーザーではパッケージのインストールはできません。
オーガスティン

3

現在、xfreerdpRemoteApp機能を使用して特定のソフトウェアを実行できます。

  1. WindowsホストでRemoteApp有効にします。レジストリの編集と同じくらい簡単であるべきです。
  2. xfreerdpLinuxホストにインストールします。Ubuntu、Debian、Fedora、OpenSUSE、macOS用のすぐに使えるビルドがあります。
  3. 次のコマンドを実行しxfreerdp /u:user /d:domain /p:password /app:"||calc" /v:serverます。
    • /u:-Windowsユーザー
    • /d:-ドメイン(WORKGROUPADに参加していない場合)
    • /p:-Windowsパスワード
    • /app:"||calc"-実行されるアプリ。cmdあなたが望むようにすることができます
    • /v:-WindowsホストのIPアドレスまたはホスト名。

0

私が開発したcollectnode、その使用のwinrmWindowsに接続するためのプロトコルを。

最初: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/


2
リンクは機能せず、リンクがなければ、答えは役に立ちません。
アンドリュー・サヴィニク
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.