Powershell 如何使用字符串作为动态参数名

Powershell 如何使用字符串作为动态参数名,powershell,active-directory,parameter-passing,Powershell,Active Directory,Parameter Passing,我正在尝试创建一个函数,该函数可以更新给定属性,其中属性的名称被传递到函数中,如下所示: function Set-UserProperty { param ( [String]$Property, [String]$NewValue ) Get-ADUser Testy.McGee -Properties $Property Set-ADUser Testy.McGee -$Property $NewValue # Se

我正在尝试创建一个函数,该函数可以更新给定属性,其中属性的名称被传递到函数中,如下所示:

function Set-UserProperty {
    param (
        [String]$Property,
        [String]$NewValue
    )

    Get-ADUser Testy.McGee -Properties $Property
    Set-ADUser Testy.McGee -$Property $NewValue
    # Set-ADUser Testy.McGee -Description $NewValue # <<<<< THIS WORKS
}

Set-UserProperty -Property "Description" -NewValue "New Description"
函数集UserProperty{
param(
[String]$Property,
[字符串]$NewValue
)
获取ADUser Testy.McGee-Properties$Property
设置ADUser Testy.McGee-$Property$NewValue
#设置ADUser Testy.McGee-Description$NewValue#尝试以下操作:

function Set-UserProperty {
    param (
        [String]$Property,
        [String]$NewValue
    )

    Get-ADUser Testy.McGee -Properties $Property
    $Command = "Set-ADUser Testy.McGee -$Property $NewValue"
    Invoke-Expression $Command
    # Set-ADUser Testy.McGee -Description $NewValue # <<<<< THIS WORKS
}
函数集UserProperty{
param(
[String]$Property,
[字符串]$NewValue
)
获取ADUser Testy.McGee-Properties$Property
$Command=“Set ADUser Testy.McGee-$Property$NewValue”
调用表达式$Command
#设置ADUser Testy.McGee-Description$NewValue#尝试以下操作:

function Set-UserProperty {
    param (
        [String]$Property,
        [String]$NewValue
    )

    Get-ADUser Testy.McGee -Properties $Property
    $Command = "Set-ADUser Testy.McGee -$Property $NewValue"
    Invoke-Expression $Command
    # Set-ADUser Testy.McGee -Description $NewValue # <<<<< THIS WORKS
}
函数集UserProperty{
param(
[String]$Property,
[字符串]$NewValue
)
获取ADUser Testy.McGee-Properties$Property
$Command=“Set ADUser Testy.McGee-$Property$NewValue”
调用表达式$Command
#设置ADUser Testy.McGee-Description$NewValue#使用:

使用: