PowerShell自动服务故障“运行程序”恢复,“nt authority\local service”权限问题

PowerShell自动服务故障“运行程序”恢复,“nt authority\local service”权限问题

我编写了一个简单的 powershell 脚本,用于在服务发生故障时触发电子邮件通知并重新启动服务,并且通过使 Windows 音频服务器(“Audiosrv”)崩溃在我的桌面上对其进行测试。

该脚本的运行设置为进入服务->右键单击服务->属性->恢复->第一次/第二次/后续故障->运行程序,程序参数如下所列。

本地服务帐户 (NT AUTHORITY\LOCAL SERVICE) 在服务失败时运行此脚本,这可以通过脚本期间的 whoami 命令输出得知。此帐户可以使用 Send-MailMessage cmdlet(我收到电子邮件),但不能使用 Restart-Service cmdlet(或 Start-Service、net start 或 sc start?)。查看错误消息,这是尝试以没有管理员权限的用户身份运行 Restart-Service 时收到的相同错误消息。

我如何才能暂时提升权限以便此脚本可以重新启动服务?或者我应该采取什么不同的措施?


运行程序:

C:\WINDOWS\System32\WindowsPowerShell\v1.0\powershell.exe

命令行参数:

-File C:\Scripts\StoppedServiceNotifyEmail.ps1



Powershell 脚本(电子邮件/主机名已删除):

$serviceName = "Audiosrv"
$serviceDisplayName = "Windows Audio"
$fromAddress = "[email protected]"
$toAddress = "[email protected]"

$initialFailedBody=@"
<head>
   <style type='text/css'>
       body {
           font-family: Calibri;
           font-size: 11pt;
           color: black;
       }
   </style>
</head>
<body>
    <p>$serviceDisplayName ($serviceName) on $env:computername has failed, attempting to restart the service.</p>
</body>
"@

whoami | Out-File -FilePath C:\Scripts\whoami_after_Audiosrv_fail.txt
Send-MailMessage -smtpServer xxxxxxxxxxxxx -Port xxx -from $fromAddress -to $toAddress -subject "$serviceDisplayName ($serviceName) failed on $env:computername" -body $initialFailedBody -BodyAsHTML -priority High
Start-Sleep -s 10
Restart-Service -Name $serviceName


Powershell 错误输出:

Restart-Service : Service 'Windows Audio (Audiosrv)' cannot be stopped due to the following
error: Cannot open Audiosrv service on computer '.'.
At C:\Util\StoppedServiceNotifyEmail.ps1:82 char:5
+     Restart-Service -Name $serviceName
+     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : CloseError: (System.ServiceProcess.ServiceController:ServiceControl
   ler) [Restart-Service], ServiceCommandException
    + FullyQualifiedErrorId : CouldNotStopService,Microsoft.PowerShell.Commands.RestartServiceCom
   mand

相关内容