【问题标题】:Service cannot be started due to the following error: Cannot open service on computer '.'由于以下错误无法启动服务:无法在计算机“。”上打开服务
【发布时间】:2019-09-04 14:19:07
【问题描述】:

我正在尝试使用 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 服务。

我在我们的论坛上找到了一些link,但无法解决。请推荐

【问题讨论】:

  • “无法停止”?您到底是在哪里尝试停止代码中的服务?
  • 刚刚更新了缺失的代码....请检查@Avshalom
  • 您是否尝试过以管理员身份运行? stackoverflow.com/questions/29146784/…

标签: powershell


【解决方案1】:

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

$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

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

【讨论】:

  • 我赞成这个答案,因为它对我有帮助。它应该被标记为正确答案。
猜你喜欢
  • 1970-01-01
  • 2016-10-05
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-03-19
  • 1970-01-01
  • 1970-01-01
  • 2016-12-18
相关资源
最近更新 更多