powershell - 如何在新的 PowerShell 对象中设置变量
问题描述
我正在尝试创建一个脚本来更新 Azure AD Privileged Identity Management,它需要以下格式的对象。
我希望能够将变量传递给对象,例如'{"required":$MFA}',其中$MFA 来自一个变量。我已经尝试了下面的脚本块,但它没有将 $MFA 识别为变量。有任何想法吗?
# Set MFA Variable
$MFA = "True"
# Create object
$myObject = [PSCustomObject]@{
RuleIdentifer = "JustificationRule"
Setting = '{"required":$MFA}'
}
#Output object
write-host $myObject
输出仅写入 $MFA 文本。它不会用 $MFA 代替“True”
@{RuleIdentifer=JustificationRule; Setting={"required":$MFA}}
解决方案
您可以在 Powershell 中使用单引号和双引号指定字符串。
区别显然是必须转义里面的哪些字符,而且单引号字符串不做变量替换,只有双引号字符串做。
因此,快速重写您的代码会输出您想要的内容:
# Set MFA Variable
$MFA = "True"
# Create object
$myObject = [PSCustomObject]@{
RuleIdentifer = "JustificationRule"
Setting = "{""required"":$MFA}"
}
#Output object
write-host $myObject
输出:
@{RuleIdentifer=JustificationRule; Setting={"required":True}}
推荐阅读
- python - python代码显示无效语法(文件夹名称='ebert_reviews')
- java - 即使我没有使用 Thymeleaf,我该如何解决 org.thymeleaf.exceptions.TemplateInputException?
- html - 为什么我在 CSS linear-gradient() 中的度数不能正常工作?
- powerbi - PowerBi 本地文件夹超时
- c - 为什么从 PTY 从站读取会更改行(学科)设置?
- flutter - 如何从网上打开excel文件
- css - 将 svg 代码设置为 div 的背景
- r - Plotly 中的 Add_Trace 问题
- c# - 注入错误:不支持配置文件。在 System.ServiceModel.ClientBase`1..ctor() 在 Asp .Net5
- build - Nuxt 致命错误错误:[VuetifyLoaderPlugin 错误] 找不到 vue-loader 的匹配规则