powershell - 由于以下错误,无法启动服务:无法在计算机“。”上打开服务
问题描述
我正在尝试使用 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 服务。
我在我们的论坛上找到了一些链接,但无法解决。请建议
解决方案
如果要启动/停止/等服务,则需要提升权限(以管理员身份运行)。您仍然可以获得有关该服务的信息,但仅此而已。如果您想包含更详细的错误,请包含以下内容:
$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
在文件的顶部,如果没有管理员权限,您将无法运行它。
推荐阅读
- c - 有人可以帮我理解这是如何工作的吗?
- python - XPath 谓词将选定节点与上下文节点进行比较?
- typescript - Typescript 在检查值时未能考虑“从不”函数
- typescript - 错误 TS2532 - 对象可能是“未定义”,它不能是未定义的
- laravel - 如何避免错误“此路由不支持 PUT 方法。支持的方法:GET、HEAD。” 使用 Laravel
- r - 将多列传递给函数以修复异常值
- java - 根据设计分辨率生成当前屏幕分辨率的正确坐标
- mysql - 具有该特定问题的 MySQL 触发器问题
- curl - 在wsl上安装rust
- html - 主题更改搜索栏