3

問題があり、インターネットには解決策がないようです。ここにいる誰かが助けてくれるかもしれません。

PsExec を使用してリモート マシンでコマンド ライン プロンプトを開始しようとしていますが、「アクセスが拒否されました」というエラーが表示され続けます。ローカル マシンとリモート マシンの両方で Windows 7 Enterprise (ローカル: x64、リモート x86) を実行しており、PsExec 1.98 を使用しています。次のコマンドを使用します。

psexec \\remote -u domain\user -p password -i -d cmd.exe

他のコマンド (-s、-h などの使用など) も試しましたが、違いはないようです。ローカル マシンからリモート マシンの admin$ 共有にアクセスできます。イベント ビューアは、リモート マシンでログオン (およびログオフ) が発生したことを通知します。

また、PsExec は Windows ディレクトリに PSEXESVC.EXE を作成しますが、削除はしません。興味深いことに、同じコマンドが Win-7-Professional (x64) で問題なく動作し、逆の場合 (つまり、リモート マシンから実行してローカル マシンで cmd を開始した場合) にも完全に問題なく動作します。リモート マシンでウイルス対策とファイアウォールを無効にしても、違いはありませんでした。ローカルで無効にすることはできませんが、そこでエラーが発生したのではないかと疑っています。

誰にもアイデアはありますか?

4

5 に答える 5

9

少し遅れましたが、私もこれを解決しようとしています。セキュリティレベル/ユーザーアクセスレベルに関係していることが判明しました。

ローカル PC のコマンド プロンプトから psexec を実行しようとしていて、右クリックして [管理者として実行] を選択してコマンド プロンプトを起動しました。次に、リモート サーバーを対象として psexec コマンドを実行し、-u パラメーターにドメイン管理者アカウントを指定します。

ただし、私のローカル アカウントにはリモート マシンではなく、ローカル マシンの管理者権限しかありませんでした。「管理者として実行」を選択しても、実際には「ドメイン管理者として実行」を意味するわけではありません。(もちろん、当たり前!)。

つまり、実際には、メイン コマンドをリモートでドメイン管理者として実行しようとしていたのに、psexec 部分が (管理者以外の) ドメイン ユーザー アカウントとして実行されていたということでした。サーバー上の権限。

解決策:上記のようにコマンド プロンプトを起動する代わりに、runasコマンドを使用します。

例: Start -> Run -> runas /user:domain\administrator cmd
次に、psexec コマンドを実行します。-u フラグは必要ありません。

または、通常のコマンドプロンプト内から、代わりにこれを行うことができます:

runas /user:domain\administrator "psexec \\remote cmd"

于 2013-10-24T09:05:18.220 に答える
3

すべてを試しても良い結果が得られなかった後、少なくとも私の場合は何が問題なのかを突き止めました。ログインしたドメインアカウント(ドメイン管理者ではなく、少なくともマシン管理者に対してローカル)を持つマシンと、管理者権限を持つローカルアカウントを持つ他のいくつかのマシンがありました。Psexec はそれらすべてで動作しましたが、ローカル管理者権限を持つドメイン アカウントを使用して私のマシンでは動作していませんでした。psexec がローカル管理者アカウントで動作するマシンで、ローカル管理者権限を持つドメイン アカウントでログインしましたが、当然のことながら動作しませんでした。

つまり、呼び出しの送信元のマシンに対してローカルな管理者アカウントを使用して、リモート サーバーへの psexec 呼び出しを開始する必要があります。

さらに良いのは、二重引用符で囲まれる psexec 文字列の前にこれを挿入することです

runas /ユーザー: ""

このように psexec は実行されますが、ローカル管理者アカウントを使用するため、ローカル管理者アカウントで実際にログインする必要はありません

于 2014-02-13T15:32:15.063 に答える
2

これが本当に遅いことはわかっていますが、Google での最初の検索なので返信します。

多くの調査の結果、システム名の前にユーザー名とパスワードが必要であることがわかりました。

psexec \\remote -u ドメイン\ユーザー -p パスワード -i -d cmd.exe

このようにしてください:

psexec -u ドメイン\ユーザー -p パスワード -i -d \\リモート cmd.exe

于 2014-12-19T16:16:05.457 に答える
1

「RemotePC」にリモートでサーバー共有(私が作業しているPC、ドメイン管理者としてログインしていた)からプログラムをインストールしたかった。

PsExec は、cmd.exe のような「ローカル」プログラム (「RemotePC」に対してローカル) を使用して RemotePC で動作しました。

PsExec.exe \\RemotePC cmd.exe

最初に、私の完全なコマンドは次のようになりました。

PsExec.exe \\RemotePC "\\server\sharename\path to program\setup.exe" /s /v"/qn IP_SERVER=192.168.1.10 PORT=112 INSTALLDIR=\"%ProgramFiles(x86)%\path\ \ " "

しかし、サーバー共有からのセットアップは開始されませんでした。エラーメッセージ:

PsExec は、RemotePC で \\server\sharename\path to program\setup.exe を開始できませんでした

アクセスが拒否されました

ここや他の Web サイトで見つけた解決策の多くを、追加PsExec -u administrator -p passwordや使用などで試しましcmd.exe /cたが、うまくいきませんでした。

最後に、機能するコマンドを見つけました(トリックを実行した/s周りに余分な引用符が付いています):commandline

PsExec.exe \\RemotePC -u administrator -p AdminPassword cmd.exe /s /c "コマンドライン"

完全な作業コマンドは次のようになります。

PsExec.exe \\RemotePC -u administrator -p AdminPassword cmd.exe /s /c ""\\server\sharename\path to program\setup.exe" /s /v"/qn IP_SERVER=192.168.1.10 PORT=112 INSTALLDIR=\"%ProgramFiles(x86)%\path\ \" " "

于 2015-06-05T10:24:01.007 に答える