【问题标题】:How to use "-replace" in Set-ADUser?如何在 Set-ADUser 中使用“-replace”?
【发布时间】:2015-11-02 11:07:42
【问题描述】:

我想通过我的 C# 使用 PowerShell 来修改 Active Directory 属性。这是我可以用来替换 Active Directory 属性的 PowerShell 命令:

Set-ADUser -Identity "kchnam" -Replace @{extensionAttribute2="Neuer Wert"}

如何将@{extensionAttribute2="Neuer Wert"} 添加到我的 C# 命令中?

我的解决方案不起作用:

Command setUser = new Command("Set-ADUser");
setUser.Parameters.Add("Identity", aduser);
string testadd = "@{extensionAttribute2=" + quote + "Neuer Wert" + quote + "}";
setUser.Parameters.Add("Replace", testadd);

【问题讨论】:

  • Hashtable testadd = new Hashtable{{"extensionAttribute2","Neuer Wert"}};
  • 是的,它正在工作!非常感谢:)
  • @PetSerAl 请添加它作为答案,最好附上简短的解释。

标签: c# powershell replace


【解决方案1】:

在 PowerShell 中:

@{extensionAttribute2="Neuer Wert"}

表示Hashtable 文字,而不仅仅是string。因此,在 C# 中,您还必须创建一个 Hashtable 对象:

new Hashtable{{"extensionAttribute2","Neuer Wert"}}

虽然这并不完全等同于 PowerShell,因为 PowerShell 创建 Hashtable 时带有不区分大小写的键比较器。但是,很可能,您可以使用任何实现 IDictionary 的集合,而不仅仅是 Hashtable

【讨论】:

    猜你喜欢
    • 2020-10-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-10
    • 1970-01-01
    • 2023-04-01
    • 2021-08-26
    • 1970-01-01
    相关资源
    最近更新 更多