【发布时间】:2014-07-25 14:44:39
【问题描述】:
我在使用 powershell 脚本时遇到问题。
我编写了一个脚本来搜索具有特定名称的 Windows 服务,它会停止或启动该服务。
当我在使用我知道可以访问服务控制台的服务帐户登录的服务器上运行它时,它可以工作。但是,当它在我的构建服务器上运行时,脚本不再能够找到服务。我尝试为运行脚本的服务帐户提供与其他服务帐户相同的特权,但这似乎不起作用。
[System.ServiceProcess.ServiceController]$service = Get-Service -Name $ServiceName -ComputerName $Remoteserver -ErrorAction SilentlyContinue
这是无法再找到服务的线路。我究竟做错了什么。有没有办法冒充可以找到服务的用户?任何帮助将不胜感激。
【问题讨论】:
-
听起来像是一个基本权限问题,在构建服务器上运行 get-service 命令的帐户是否有权获取服务帐户?当您使用在远程系统上具有管理员权限的域帐户运行它时,手动执行是否有效?要模拟用户,您可以打开一个新的 cmd 窗口,并将 runas 作为域服务帐户。
-
您可以返回并接受一些关于您旧问题的答案。
-
我在使用我们的构建服务器远程停止服务时遇到了同样的问题。当我将用于执行构建服务器任务的服务帐户添加到托管我的服务的服务器的本地管理员组中时,问题就解决了。
标签: powershell windows-services