Powershell 是否可以使用变量嵌套命令展开

Powershell 是否可以使用变量嵌套命令展开,powershell,Powershell,我只是想检查是否可以使用if语句在PowerShell中设置嵌套命令splat的值。以下是我目前的情况: $SADUParams = @{ Identity = $SAM Company = $Company Server = $ADserver Replace = @{"extensionattribute11"="$Department";"extensionattribute12"="RESOURCE"} } if($PhoneNo){ $SADUParams["OfficePho

我只是想检查是否可以使用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"
}
if($true)
{
$SADUParams.Replace.extensionAttribute 12=“您的新值”
}

这太简单了,我不知道为什么我没有想到这一点。我想我被上一个问题的解决方案搞得心烦意乱了,这就是为什么我用:$SADUParams[“OfficePhone”]而不是$SADUParams.OfficePhone