我在十几台测试机器上运行着相同的服务。所述服务已停止运行(具体来说,它被测试关闭并禁用,测试中途终止),我想在所有这些机器上重新启用并重新启动它。正常的解决方案是sc \\machine config ServiceName start=auto
,sc \\machine start ServiceName
如果我的用户帐户在另一台机器上获得授权,它就可以正常工作。但由于这些是从不认识我的 Adam 的公共映像创建的克隆测试机器,它们无法识别我。我知道我可以进入并在这些机器上授权自己,但它们经常被清除,我想节省一些时间。
我知道所有这些机器的本地管理员密码。(由于克隆,所以都是相同的。)我该如何运行sc.exe
才能以该用户身份登录?或者我是否有其他方法可以从我的机器以编程方式启用和启动这些服务?(我有一个非常简单的循环 PowerShell 脚本,已准备就绪,但如果找不到可以接受的命令,它就没什么用。)
作为参考,这是我收到的错误消息:
[SC] OpenSCManager FAILED 5:
Access is denied.
答案1
sc \\machine config 服务名称 start= auto obj= 用户名 密码= PWD
答案2
使用工具,其工作原理与 sc.exe 相同,但它可让您使用不同的帐户登录远程系统。转到这里下载它。用法psservice [\\computer [-u username] [-p password]] <command> <options>
与 sc.exe 使用相同的命令。因此,根据你的例子,你可以输入
psservice \\machine -u AdminUserName -p AdminPassword config ServiceName start=auto
进而
psservice \\machine -u AdminUserName -p AdminPassword start ServiceName