SC クエリが 1 台のマシンでは失敗し、別のマシンでは機能するのはなぜですか?

SC クエリが 1 台のマシンでは失敗し、別のマシンでは機能するのはなぜですか?

sc コマンドを使用して、2 台のコンピューターからコンピューター PRODSRV で実行されているサービスのステータスを照会しています。1 台のコンピューターからは正常に動作しますが、もう 1 台のコンピューターからは失敗します。何が間違っているのでしょうか?

PRODSRV は Windows Server 2003 です。sc が動作するコンピューターも Windows Server 2003 であり、そこからの sc の結果は次のようになります。

sc \\prodsrv query mssqlserver

SERVICE_NAME: mssqlserver
        TYPE               : 10  WIN32_OWN_PROCESS
        STATE              : 4  RUNNING
                                (STOPPABLE, PAUSABLE, ACCEPTS_SHUTDOWN)
        WIN32_EXIT_CODE    : 0  (0x0)
        SERVICE_EXIT_CODE  : 0  (0x0)
        CHECKPOINT         : 0x0
        WAIT_HINT          : 0x0

sc が動作しないコンピュータは Windows Vista であり、結果は次のとおりです。

sc \\prodsrv query mssqlserver
[SC] OpenSCManager FAILED 5:

Access is denied.

ありがとう!

答え1

PRODSRV にリモートでアクセスするための資格情報に、サービスを照会する権限がないようです。

表示されている PRODSRV マシンと Vista マシンは同じドメインのメンバーですか? このコマンドを実行するときに、各マシンにどのようにログオンしますか?

資格情報の問題だけを扱っているようです。上記についてお知らせください。ログオン方法を検討します。SC コマンドを実行する前に PRODSRV に「NET USE」を実行すれば、おそらく問題は解決するでしょう...

編集: SC を実行する前に、次の操作を行います。

NET USE \\PRODSRV\IPC$ /USER:<username you logon to PRODSRV with> <password you use on PRODSRV>

Vista マシンと PRODSRV でまったく同じユーザー名とパスワードを使用しているのではなく、PRODSRV と他の Windows 2003 ボックスで使用しているのではないかと思います。

答え2

セキュリティ イベント ログをチェックして、PRODSRV が Vista システムの資格情報に関してどう考えているかを確認できます。これにより、何が起こっているかのヒントが得られる可能性があります。セキュリティ イベント ログにアクセスするには、2003 システムで、システム ツール - イベント ビューアー - セキュリティの順に選択して、compmgmt.msc を実行します。

答え3

クエリを誰がどこで実行しているかによって、得られる結果は異なります。主に、「インタラクティブ」グループのメンバーであるかどうかによって決まります。

私は次のような記事を書きましたWindows サービスのステータスを照会する少し前にブログで紹介したのですが、解決策があると思います(少なくとも他の人には役立つと思います)。サブイナクル、アクセス制御リストを確認します。

その後、特定のユーザー/グループに対してクエリを実行するための権限を追加できます。

関連情報