18

我正在编写一个脚本,定期检查某些服务是否在远程工作站上运行。我有一个魔鬼的时间让“SC \works1 query”命令从一台测试机器工作到另一台测试机器。两台机器都运行 XP pro SP3。两者都不是域的一部分。两者都在同一个工作组中,并且管理员帐户具有相同的密码。

我不断收到“[SC] OpenSCManager FAILED 5: Access is denied”消息,从一个工作站到另一个工作站。我已经尝试在两者上使用提升的权限。Windows 防火墙软件已关闭。事件安全日志中没有显示任何消息。当(作为管理员)我尝试进入“计算机管理”->“连接到另一台计算机”并访问远程服务时,我得到“错误 5 访问被拒绝”。

我可以成功在两台机器之间建立一个文件系统共享,并且“net use \works1\IPC$ /user:Administrator”成功完成,但是SC查询仍然失败。我在这些命令中使用的是 IP 地址而不是主机名,但这无济于事。我不知道还能尝试什么。谢谢您的帮助。

4

5 回答 5

28

尝试以管理员身份运行命令

开始->(在搜索框中输入cmd),右键单击cmd以管理员身份运行-> 执行您的命令

于 2015-05-06T20:49:07.737 回答
22

您必须拥有远程计算机的管理权限。此外,您必须在调用“sc”之前访问驱动器。这可以在命令行中使用

net use \\remotemachine\admin$ <password> /user:<username>

admin$ 是“sc”用来控制服务的管理员可以访问的隐藏共享驱动器。

于 2015-06-11T17:41:02.657 回答
6

我今天遇到了同样的问题,试图检查是否远程启用了服务。我可以解决修改 Windows 中远程限制的用户帐户控制的问题:

要禁用 UAC 远程限制,请执行以下步骤:

  1. 单击开始,单击运行,键入regedit,然后按 Enter。
  2. 找到并单击以下注册表子项: HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  3. 如果该LocalAccountTokenFilterPolicy注册表项不存在,请按照下列步骤操作:
    Edit菜单上,指向New,然后单击DWORD Value。键入LocalAccountTokenFilterPolicy,然后按 Enter。右键单击LocalAccountTokenFilterPolicy,然后单击Modify。在Value数据框中,键入1,然后单击确定。
  4. 退出注册表编辑器。

此站点中有关此解决方案的更多信息。

于 2017-05-31T21:30:17.870 回答
0

您的用户应该是远程的,来自管理和本地用户和组

于 2013-11-06T16:31:59.023 回答
0

UAC 问题很明显,您必须拉下 UAC 设置的控制杆此外,在安装服务时,您可以使用以下命令

SC create SERVICENAME DisplayName= "DISPLAYNAME" binPath= "PATH OF EXE" start= disabled type= share

于 2018-12-11T21:43:27.740 回答