2012-12-01 253 views
9

システム・ユーザーとしてコマンドを実行すると、「ハンドルが無効です」:PSEXEC - これは、ユーザー生成されたコマンドプロンプトから実行する場合は正常に動作コマンドである

PSEXEC \\xxx.xxx.xxx.xxx -u xxxx -p xxxx -accepteula cmd /c "TYPE C:\Pyxislog\PYXIS01.log|Find/i "%ID%"" >nul 

しかし、私はこれを実行しようとする場合には、システム起動のCMDプロンプトから、私はこれを取得:

Couldn't access 10.219.149.65: 
The handle is invalid. 
Connecting to 10.219.149.65... 

それがシステム・ユーザーとして実行するリモートのソフトウェア・ツールを使用して展開されるので、それは、システムのユーザーとして実行する必要があります。これはpsexecの制限ですか?はい、ユーザー名とパスワードに管理者権限があります。

答えて

8

を多くの研究は、それは別のユーザーとしてタスクを実行することを含むシステムユーザーへのすべてのネットワークアクセスをブロックするWindowsセキュリティ機能です。私がこれを回避するために見つけた最良の方法は、管理者アカウントからpsexecを実行するスケジュールされたタスクを作成することです。

1

Psexecは、-sパラメータを追加することにより、システムユーザアカウントを使用するよう強制します。

psexecを使用してリモートコンピュータでタスクを起動し、データベーステーブルにログインします。 我々は-sパラメータのユーザーを使用いけないドメイン\管理者として表示されますが、あなたが -sパラメータを使用している場合は、無効なハンドルメッセージは、このチェックのためには、「システム」

のように表示されます。後

https://superuser.com/questions/200938/psexec-the-handle-is-invalid

+0

あなたのご意見ありがとうございますが、私の意図を誤解する可能性があります。私はバッチファイルをユーザーアカウントとして実行しているので、私は完全なバッチファイルを実行すると、行が正常に動作します。しかし、手動で実行していたのと同じマシンにパッケージをデプロイしようとすると、デプロイメントでSYSTEMユーザーとしてバッチファイルが実行されるため、パッケージは失敗します。リモートマシンのシステムアカウントにPSExECをアクセスする必要はありません。管理アカウントにアクセスするにはPSExECが必要です。 – bill

+0

psexecログインで同じユーザーアカウントを使用していますか?私はあなたが –

+0

だと思います。たとえば、上記のxxxxが記入されたPSEXECのコマンドを、起動>実行> CMDで開いたCMDウィンドウに貼り付けてコピーします。次に、 'psexec -i -s cmd.exe'を実行してSYSTEMユーザーとして別のCMDウィンドウを呼び出し、最初のCMDウィンドウと同じコマンドを貼り付けて、このエラーを再作成します。 – bill

1

-hフラグを使用してみましたか?

technet:-hターゲットシステムがVista以上の場合、利用可能であれば、アカウントの昇格トークンを使用してプロセスを実行してください。

全ページ:https://technet.microsoft.com/en-us/sysinternals/psexec.aspx

+0

このプロセスは、ユーザーではなくNT Authority \ SYSTEMアカウントで実行されています。そのため、使用する標高トークンはありません。 – bill

0

それは無関係かもしれないが、私は実際に接続がダウンマシンに行けば、私は、この「ハンドルが無効です」エラーが発生しました - すなわち、マシンは眠りに落ちました。

関連する問題