web-dev-qa-db-ja.com

リモートのWindows7Enterpriseワークステーションでpsexecを実行する

psexecコマンドをリモートのWindows7Enterpriseワークステーションで動作させることができないようです。

次のコマンドを実行しようとしています。

psexec.exe \\172.16.165.157 -u jc -p testing123 -c -f -i cmd.exe

しかし、私はエラーを受け取り続けます:

PsExec v1.94 - Execute processes remotely
Copyright (C) 2001-2008 Mark Russinovich
Sysinternals - www.sysinternals.com

Error copying C:\WINDOWS\system32\cmd.exe to remote system:
Access is denied.

Windows XP Professionalを実行しているマシンからコマンドを実行しようとしています。

1
Jimmy Collins

回避策として-d引数を使用しました。ただし、リモートで開始したプロセスからリターンコードが返されません。

これは回避策ですが、理想的ではありません。

1
user58036

リモートシステムでUACプロンプトを生成する可能性のあることを実行しようとしている場合は、次を使用する必要があります。

-hターゲットシステムがVista以降の場合、プロセス
を、可能な場合はアカウントの昇格されたトークンで実行します。

WinXPマシンのsystem32ディレクトリからWin7マシンのsystem32ディレクトリにcmd.exeをコピーすることは、非常によく考えられていない例です。お気をつけください。特にOSのバージョンやアーキテクチャ全体で、このような軽視でシステムファイルを扱うことは賢明ではありません。

Psexecを使用している場合は、リモートシステムのc:\ windows \階層内にないフルパスを指定してください。

2
Skyhawk

-u computername\jcをお試しください

1
Luca Matteis

おそらく、マシン「172.16.165.157」にパスワード「testing123」のユーザーアカウント「jc」があり、そのアカウントには「管理者」権限がありますか?

答えが「いいえ」の場合、これはあなたの問題です。

「CMD.EXE」をリモートマシンにコピーすることも望まないでしょう。すでにそこにあります。 PSEXECコマンドラインに「-c」フラグは必要ありません。

1
Evan Anderson

3つのことが頭に浮かびます...

  1. ターゲットでadmin $共有をアクティブ化してください
  2. Psexecを使用して引数に管理者ユーザーを渡した場合でも、管理者としてソースでpsexecコマンド自体を実行する必要があります。
  3. 再送されたpsexecには、Vista以降のマシンに到達する問題を克服するための-hスイッチがありますが、テストはしていません。
0
Stefan