首页 > 解决方案 > 由于以下错误,无法启动服务:无法在计算机“。”上打开服务

问题描述

我正在尝试使用 Powershell 并使用下面的代码启动服务

function CheckServiceStatus {
param($winupdate)
$getservice = Get-Service -Name $winupdate

if($getservice.Status -ne $running){
    stop-service $winupdate
    Start-Service $winupdate 
    Write-output "Starting" $winupdate "service"|out-file "C:\Users\Mani\Desktop\abc.txt"
    Add-Content C:\Users\Mani\Desktop\abc.txt  $getservice.Status
    }
}
Read-Host -Prompt "Press Enter to exit"

#Variables

$winupdate = 'vsoagent.192.Shalem'
$running = 'Running'
CheckServiceStatus $winupdate

我收到以下错误:

由于以下错误,无法停止服务“ABC”:无法在计算机“.”上打开 ABC 服务。

我在我们的论坛上找到了一些链接,但无法解决。请建议

标签: powershell

解决方案


如果要启动/停止/等服务,则需要提升权限(以管理员身份运行)。您仍然可以获得有关该服务的信息,但仅此而已。如果您想包含更详细的错误,请包含以下内容:

$isadmin = [bool](([System.Security.Principal.WindowsIdentity]::GetCurrent()).groups -match "S-1-5-32-544")
if($isadmin){
   Write-Error "You need elevated privileges to run this script"
   exit(1)
}

...

Rest of your code

或者更好的是,如果您运行的是 Powershell 4.0 或更高版本(您可以通过检查获得它$PSVersionTable),您可以包括

#Requires -RunAsAdministrator

在文件的顶部,如果没有管理员权限,您将无法运行它。


推荐阅读