
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 サービスのステータスを照会する少し前にブログで紹介したのですが、解決策があると思います(少なくとも他の人には役立つと思います)。サブイナクル、アクセス制御リストを確認します。
その後、特定のユーザー/グループに対してクエリを実行するための権限を追加できます。