プログラムをローカル サービスとして実行するために PsExec を起動するとエラーが発生する

プログラムをローカル サービスとして実行するために PsExec を起動するとエラーが発生する

管理コマンドプロンプトから次のコマンドを実行します。

psexec64 -i -u "nt authority\network service" C:\Windows\System32\cmd.exe

次のエラーメッセージが表示されます:

Couldn't install PSEXESVC service:
The operation completed successfully.
Error establishing communication with PsExec service on MYPC:
The operation completed successfully.

私はこれを Windows 7 x64 SP1 で実行しています。PSEXESVC サービスがインストールされ、実行されています。の 32 ビット バージョンを使用した場合も同じ結果が得られますpsexec

この問題を解決する方法はありますか?

答え1

回避策として、-i(対話型) スイッチを省略して、新しい構文を作成してみてください。

psexec64 -u "nt authority\network service" C:\Windows\System32\cmd.exe

このスイッチに関する PSExec のヘルプによると:

プログラムを実行して、リモート システム上の指定されたセッションのデスクトップと対話します。セッションが指定されていない場合は、プロセスはコンソール セッションで実行されます。

スイッチを使用すると、-i通常、新しいコマンド プロンプトが別のウィンドウに表示されます。スイッチがない場合、別のウィンドウは表示されませんが、ユーザー アカウントのコンテキストで実行されている新しい CMD.EXE プロセスに接続されます。プロンプトでNT Authority\Network Service実行することでこれを確認できます。WHOAMI

答え2

まず、ローカル標高を次のように実行してみます。

それはあなたにとってうまくいきますか?

"c:\your_path\psexec.exe" -i -s cmd.exe または "c:\your_path\psexec64.exe" -i -s cmd.exe

次のような結果になるはずです:

C:\Windows\system32>whoami /user

USER INFORMATION
----------------

User Name           SID
=================== ========
nt authority\system S-1-5-XX

私はドメイン内のコンピューターで試しました:

C:\app\tools\Sysinternals Suite>psexec -i -u "nt authority\network service" C:\Windows\System32\cmd.exe

PsExec v2.2 - Execute processes remotely
Copyright (C) 2001-2016 Mark Russinovich
Sysinternals - www.sysinternals.com

Couldn't install PSEXESVC service:
The network name cannot be found.

Make sure that the admin$ share is enabled.

C:\Windows\System32\cmd.exe exited on XXXX with error code -1073741510.

制作:

Microsoft Windows [Version 6.1.7601] Copyright (c) 2009 Microsoft Corporation.  All rights reserved.

C:\Windows\system32>whoami /user

USER INFORMATION
----------------

User Name                    SID
============================ ========
nt authority\network service S-1-5-XX

これに基づいて推測すると、メッセージはCouldn't install PSEXESVC service: ネットワーク名に関連付けられていると思われます。

この方法を試したらうまくいくでしょうか?

"\\computer.domain.com\C:\app\tools\Sysinternals Suite\psexec.exe" \\computer.domain.com -u "domain\username" -p "passwd" -e -s cmd.exe

答え3

私の最新の 64 ビット フランス語 W10 では、スペースのないネットワーク サービスが機能します。

psexec -i -u "nt 機関\ネットワークサービス" cmd.exe

皆さんの役に立てれば幸いです。

関連情報