如何在ASP.NET中使用Powershell和System.Management.Automation更新Field extensionAttribute3?

时间:2013-12-20 09:00:38

标签: c# asp.net powershell active-directory runspace

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

                    }
                }
...

1 个答案:

答案 0 :(得分:1)

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

command.Parameters.Add("Replace",@{extensionAttribute3='CostCenter'})