我想知道如何通过单击“播放”来确定是否已从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)“
}
答案 0 :(得分:0)
您可以检查是否存在$ PSISE变量。它仅存在于ISE中,并且在控制台中为$ null或未定义。
#In the console this will output False
#In the ISE this will output True
if($PSISE){$true}else{$false}