我正在使用sc命令从两台计算机查询在计算机PRODSRV上运行的服务的状态。 它从一个正常工作,但从另一个失败。 我做错了什么?
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.
谢谢!
看起来像您的凭据远程访问PRODSRV没有权限来查询服务。
PRODSRV和Vista机器是否显示同一个域的成员? 当你运行这个命令时,你如何login到每台机器上?
它看起来像是一个凭证问题,你正在处理。 让我们知道重新:上面,我们将解决你需要如何login。 在运行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机器上。
您可以查看安全事件日志,以查看PRODSRV对Vista系统中您的凭据的看法。 这可能提供了一个关于发生了什么事情的暗示。 您可以通过在2003系统(系统工具 – 事件查看器 – 安全性)上运行compmgmt.msc来访问安全事件日志。
根据您在查询的运行方式以及在哪里,您将得到不同的结果 – 主要基于如果您是“交互式”组的成员。
我写了一篇关于在我的博客上查询Windows服务状态的文章,我认为这有一个解决scheme(或者至less会对其他人有所帮助)。 查看带有subinacl的服务,并查看访问控制列表。
然后,您可以添加权限来查询您的特定用户/组。