Как я могу обновить Field extensionAttribute3 с помощью Powershell и System.Management.Automation в ASP.NET`?
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 ответ
Командлет Set-ADUser не имеет параметра для всех возможных атрибутов. Для атрибутов, у которых нет выделенного параметра, вы используете параметры -Add, -Replace и -Remove и задаете им аргумент хеш-таблицы имен и значений атрибутов. Не уверен, что если синтаксис правильный, но что-то вроде этого:
command.Parameters.Add("Replace",@{extensionAttribute3='CostCenter'})