以其他用户身份执行 Windows SC 命令

以其他用户身份执行 Windows SC 命令

我想以其他用户的身份针对网络目标执行 SC 命令。我需要能够在命令行上指定用户名和密码,因为这是为了编写脚本。但是,我没有在 SC 上看到以其他用户身份执行命令的选项。我看到了接受用户名的“obj”选项,但这似乎是用于设置服务本身应在其下运行的用户帐户。

如果没有办法改变执行的用户上下文,是否有另一个命令可以让我以脚本方式创建/启动/停止 Windows 服务(从 TeamCity 调用)

答案1

使用“RunAs”命令行工具,它允许您提供明确的凭据集,并支持“域\用户名”和 UPN 格式,允许您以另一个用户的身份进行身份验证并运行您的命令:

   Runas /user:Domain\user "sc \\remoteServer stop serviceKeyName"

选择:

设置计划任务使用特定的登录帐户

答案2

最终安装并使用了 PsExec -http://technet.microsoft.com/en-us/sysinternals/bb897553. 允许内联指定用户名/密码,因此可以编写脚本。

答案3

在 PowerShell 中:

(get-wmiobject win32_service -comp servername -cred domain\user -filter "name='browser'").stopservice()

-cred还会弹出一个凭证对话框

用适当的值替换和servernamedomain\username=

-cred甚至可以使用存储的凭证。

相关内容