0

net 应用程序,我想更新活动目录中的信息。为此,我使用 System.Management.Automation 命名空间。有了这个,我可以使用 Powershell。它工作得很好,但我不知道如何更新字段“extensionAttribute3”(这是我们的成本中心)。

这是我的代码:

...
 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();

                    }
                }
...
4

1 回答 1

1

Set-ADUser cmdlet 没有所有可能属性的参数。对于没有专用参数的属性,您可以使用 -Add、-Replace 和 -Remove 参数,并为它们提供属性名称和值的哈希表参数。不确定语法是否完全正确,但如下所示:

command.Parameters.Add("Replace",@{extensionAttribute3='CostCenter'})
于 2013-12-20T11:35:21.213 回答