我想作为一个不同的用户对networking目标执行SC命令。 我需要能够在命令行上指定用户名和密码,因为这是为了编写脚本的目的。 但是,我没有看到SC上用于执行另一个用户的命令的选项。 我看到接受用户名的“obj”选项,但似乎是设置服务本身应该运行的用户帐户。
如果没有办法改变执行的用户上下文,是否有另外一个命令允许我以脚本化的方式创build/启动/停止Windows服务(从TeamCity调用)
使用“RunAs”命令行工具 ,它可以让你提供一个明确的凭据集,同时支持“Domain \ Username”和UPN格式,允许你作为另一个用户进行身份validation并运行你的命令:
Runas /user:Domain\user "sc \\remoteServer stop serviceKeyName"
使用特定的login帐户设置计划任务
完成安装和使用PsExec – http://technet.microsoft.com/en-us/sysinternals/bb897553 。 允许内联指定用户名/密码,这样可以编写脚本。
在PowerShell中:
(get-wmiobject win32_service -comp servername -cred domain\user -filter "name='browser'").stopservice()
-cred也会popup一个凭证对话框
用适当的值replaceservername , domain\user和name=
使用-cred你甚至可以使用存储的凭据。