Изменить атрибуты в AD через PowerShell (без квеста) - PullRequest
1 голос
/ 07 июля 2011

Скажем, у меня есть пользователи, а их атрибут PhysicalDeliveryOfficeName, называемый Office в AD, установлен в Нью-Йорк, а другие говорят, что Чикаго.

Я хочу установить скрипт, который будет проходить по всем пользователям.

If physicalDeliveryOfficeName = Chicago  
Set address properties   
Street: 8888 Chicago Lane  
City: Chicago  
State: IL  
Zip: 60066  
Country: United States

else if physicalDeliveryOfficeName = New York  
Set address properties  
Street: 9999 New York Lane
City: New York
State: NY
Zip: 11111
Country: United States

Не могу понять, с чего начать ... какие-нибудь указатели?

Ответы [ 2 ]

2 голосов
/ 07 июля 2011

Если у вас PowerShell v2.0, вы можете использовать встроенный модуль Active Directory , в частности, команду Get-ADUser , за которой следует Set-ADUser, что-то вроде:

Get-ADUser -Filter {Office -eq "Chicago"} | Set-ADUser -StreetAddress "8888 Chicago Lane City" -City "Chicago" -State "IL" -PostalCode "60066" -Country "US"

Полный список доступных атрибутов и некоторые примеры доступны по ссылкам выше или с помощью командлета Get-Help.

Если выне на PowerShell v2.0 и по какой-то причине не может быть обновлен, вы можете использовать пространство имен .NET System.DirectoryServices и связанные с ним классы, где вы сможете достаточно разумно следовать примерам MSDN например это для обновления и этот пример для поиска .Кроме того, Stackoverflow имеет множество примеров, хотя этот выглядит особенно многообещающе для быстрого обзора.

Кроме того, я пропустил пример поиска Microsoft с использованием PowerShell и System.DirectoryServices .

1 голос
/ 30 ноября 2011

Я подправил вышеперечисленное, чтобы добавить / изменить адресную информацию сотрудников, перемещающихся из одного места в другое. В приведенном ниже примере того, что я сделал, конечно, я изменил адрес Джона Доу. Но это однострочная командная строка powershell, которая отлично работает для тех, кто еще не выучил сценарии:

get-aduser -filter {SamAccountName -eq "jdoe"} | Set-ADUser -Office "New York" -StreetAddress "123 N Main St" -city "New York" -State "NY" -PostalCode "10044" -Country "US"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...