当脚本作为预定作业运行时,不会填充自动变量$ PSScriptRoot和$ MyInvocation.MyCommand.Path。有没有人知道一种解决方法?
Register-ScheduledJob -Name TestScheduledJob -ScriptBlock {
'$PSScriptRoot = [' + $PSScriptRoot + ']'
'$MyInvocation.MyCommand.Path = [' + $MyInvocation.MyCommand.Path + ']'
}
Start-Job -DefinitionName TestScheduledJob | Wait-Job | Receive-Job
$PSScriptRoot = []
$MyInvocation.MyCommand.Path = []
我想到的一个hack是,将路径作为脚本的参数。