如何在重启后运行PowerShell脚本?

时间:2014-06-03 16:32:16

标签: powershell

我有一个powershell脚本,用于记录特定日志。如果在特定时间跨度内没有对日志进行更新,则会向nagios发送警报(因为这表明该服务不再运行)。

powershell脚本在手动运行时效果很好,但我的问题是我希望它在重启时加载。我尝试使用参数' -noexit -file C :: \ script.ps1'创建一个每5分钟重复一次的计划任务。问题是,当作为计划任务运行时,我的脚本实际上不起作用。

执行策略设置为Unrestricted,因此脚本会运行,但代码不会像手动运行时那样执行和工作。

FWIW,代码是:

function Write-EventlogCustom($msg) {
    Write-EventLog System -source System -eventid 12345 -message $msg
}

Get-Content -Path C:\test.log -Wait | % {Write-EventlogCustom $_}

因此,如果我在powershell脚本运行计划任务时更新test.log,则事件日志不会更新。但是,当我手动运行此脚本并更新到test.log时,它确实出现在事件查看器中。

我希望第二组眼睛可能找到我可能错过的东西?

1 个答案:

答案 0 :(得分:0)

正如@Tim Ferrill所提到的,我需要使用任务调度程序“以最高权限运行”设置来运行该过程。这解决了这个问题。