powershell - 是否可以使用可变嵌套命令拼写

标签 powershell

我只是想检查是否可以使用If语句在PowerShell中设置嵌套命令splat的值。以下是我目前所拥有的:

$SADUParams = @{
Identity = $SAM
Company = $Company
Server = $ADserver
Replace = @{"extensionattribute11"="$Department";"extensionattribute12"="RESOURCE"}
}
if($PhoneNo){
    $SADUParams["OfficePhone"] = $PhoneNo
}
Set-ADUser @SADUParams

我还想做的是使用if语句(如上例中的电话号码)更新ExtensionAttribute12

这可能吗?如果可以,我该如何编码?

最佳答案

当然,只需简单地从$SADUParams哈希表访问所需的属性并对其进行更新:

if ($true <#yourcondition#>)
{
    $SADUParams.Replace.extensionattribute12 = "your_new_value"
}

关于powershell - 是否可以使用可变嵌套命令拼写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43752273/

相关文章:

powershell - Import-PSSession : Proxy creation has been skipped for '%' command,,因为PowerShell无法验证其名称的安全性

amazon-web-services - 由于 amplify.ps1 安全问题,命令 "amplify configure"无法运行

powershell - 使用CreationTime而不是LastWriteTime的Get-ChildItem?

PowerShell ISE 如何使用 ScriptBlock 关闭自动创建新选项卡?

powershell - 同时使用桌面 Powershell 5.1 和 Powershell Core 6.1

xml - 根据父节点的属性选择子节点

powershell - 如何在所有域中搜索用户?

powershell - foreach 循环运行两次?

json - 使用 powershell 删除变量内的循环

powershell - 在PowerShell脚本中,是否可以判断是否使用默认参数值?