当作为预定作业运行时,如何获取正在运行的脚本的根目录?

时间:2017-01-01 13:15:41

标签: powershell

当脚本作为预定作业运行时,不会填充自动变量$ 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是,将路径作为脚本的参数。

0 个答案:

没有答案