PowerShell如何确定脚本执行?

时间:2014-06-15 08:32:30

标签: powershell

我想知道如何通过单击“播放”来确定是否已从Windows PowerShell ISE中启动PowerShell脚本,或者是否已由计划任务或其他任务启动?

通过搜索我找到了变量$MyInvocation.CommandOrigin,这可以解决这个问题吗?谢谢你的建议。

我还从here找到了以下内容,但它并没有真正确定它是否在ISE中执行:

if ($MyInvocation.InvocationName -eq ‘&‘) {
    “Called using operator“
} elseif ($MyInvocation.InvocationName -eq ‘.‘) {
    “Dot sourced“
} elseif ((Resolve-Path -Path ` 
    $MyInvocation.InvocationName).ProviderPath -eq `
    $MyInvocation.MyCommand.Path) {
    “Called using path $($MyInvocation.InvocationName)“
}

1 个答案:

答案 0 :(得分:0)

您可以检查是否存在$ PSISE变量。它仅存在于ISE中,并且在控制台中为$ null或未定义。

#In the console this will output False
#In the ISE this will output True
if($PSISE){$true}else{$false}