multithreading - 如何在 PS 后台作业和线程作业中跟踪 powershell 脚本调用模式?
问题描述
我想跟踪如何调用 PowerShell 脚本。 场景:我有一个父 PowerShell 脚本,它登录到 azure 并安装 PowerShell 模块。此脚本使用 ThreadJob 并行调用多个 PowerShell 脚本。在子脚本中,我正在检查脚本是否被另一个脚本调用或作为主脚本运行,并基于该选择是否需要登录和安装模块。
这就是我检查条件的方式
$scriptExecutionMode = "main"
if (![string]::IsNullOrEmpty((Get-Variable MyInvocation -Scope Local).Value.PSCommandPath)) {
$scriptExecutionMode = "called"
}
问题是在线程作业或后台作业中,总是以调用模式为主,导致再次登录和安装模块。在某些情况下,我必须将这些脚本作为主要脚本运行,因此无法删除该部分。
解决方案
推荐阅读
- macos - npx pod 安装错误。中止运行并遇到意外错误
- android - 多个文件没有被复制到Android中的本地目录
- android - Android 上没有显示测试广告 -AdMob
- javascript - JS - 显示网页来源的函数
- php - Laravel 8 唯一表单验证忽略
- c# - 如何调整模型验证(.NET Core Web Api)响应中的哪些字段?
- azure - 如何使用 Microsoft Graph API 访问其他组织的用户列表?
- javascript - React - Django:TypeError:无法读取未定义的属性“令牌”
- spring-boot - 如何测试从 MessagingGateway 到 ServiceActivator 的完整 IntegrationFlow
- javascript - 正则表达式验证 url 并且不以分号或空格结尾