net application,我想更新活动目录中的信息。为此,我使用System.Management.Automation命名空间。有了这个,我可以使用Powershell。它工作得很好,但我不知道如何更新字段“extensionAttribute3”(这是我们的Costcenter)。
这里是我的代码:
...
PSCredential crend = new PSCredential(ADNAME, pw);
using (Runspace runspace = RunspaceFactory.CreateRunspace(initial))
{
runspace.Open();
using (Pipeline p = runspace.CreatePipeline())
{
Command command = new Command("Set-ADUser");
command.Parameters.Add("Identity", sAMAccountName);
//command.Parameters.Add("extensionAttribute3", CostCenter); ???
command.Parameters.Add("Description", Description);
command.Parameters.Add("Credential", crend);
p.Commands.Add(command);
p.Invoke();
}
}
...
答案 0 :(得分:1)
Set-ADUser cmdlet没有所有可能属性的参数。对于没有专用参数的属性,可以使用-Add,-Replace和-Remove参数,并为它们提供属性名称和值的哈希表参数。如果语法完全正确,不确定这个,但是这样:
command.Parameters.Add("Replace",@{extensionAttribute3='CostCenter'})