Лучший отвечающий
Как работать с обьектами AD из PowerShell?

Вопрос
-
Добрый день
Если кто разобрался как создавть из PS учетные записи пользователей в AD, проставлять атрибуты (департамент, организация и пр), задавать пароли - поделитесь примером скрипта.
Мне нужно сделать bulk вставку в AD несколько сотен учетных записей и создать для них почтовые ящики в Ex2007.
Ранее делал похожее на VBScript для Ex2003 через CDEX.
16 марта 2007 г. 11:04
Ответы
-
AndreyGupalo написано: Добрый день
Если кто разобрался как создавть из PS учетные записи пользователей в AD, проставлять атрибуты (департамент, организация и пр), задавать пароли - поделитесь примером скрипта.
Мне нужно сделать bulk вставку в AD несколько сотен учетных записей и создать для них почтовые ящики в Ex2007.
Ранее делал похожее на VBScript для Ex2003 через CDEX.
Теперь это делается при помощи cmdlet New-Mailbox в Exchange Managment Shell:
http://technet.microsoft.com/en-us/library/aa997663.aspxИ cmdlet Set-User
http://technet.microsoft.com/en-us/library/aa998221.aspxА поверх навешиваете Import-Csv
http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/import-csv.mspxИ ForEach-Object
http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/foreach-object.mspxПолучаем что-то типа:
$password = Read-Host "Enter password" -AsSecureString
Import-Csv c:\users.txt | ForEach-Object {New-mailbox -UserPrincipalName $_.UserPrincipalName -alias $_.alias -database $_.database -Name $_.Name -OrganizationalUnit $_.OrganizationalUnit -password $password -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -ResetPasswordOnNextLogon $true}16 марта 2007 г. 12:22
Все ответы
-
$objOU = [ADSI]"LDAP://localhost:389/ou=HR,dc=NA,dc=fabrikam,dc=com"
$objUser = $objOU.Create("user", "cn=MyerKen")
$objUser.Put("sAMAccountName", "myerken")
$objUser.SetInfo()
Это отсюда - http://blogs.msdn.com/arulk/archive/2006/07/25/678137.aspx
http://thepowershellguy.com/blogs/posh/archive/tags/Active+Directory/default.aspx - тут еще куча примеров по PoSH+AD.
Кстати начиная с win 2003 появился набор команд ds*.exe, в том числе dsadd, dsmod. Так что можно и из .cmd такие вещи делать. Впрочем и из повершелла эти же утилиты не менее удобно использовать.
16 марта 2007 г. 12:07Модератор -
AndreyGupalo написано: Добрый день
Если кто разобрался как создавть из PS учетные записи пользователей в AD, проставлять атрибуты (департамент, организация и пр), задавать пароли - поделитесь примером скрипта.
Мне нужно сделать bulk вставку в AD несколько сотен учетных записей и создать для них почтовые ящики в Ex2007.
Ранее делал похожее на VBScript для Ex2003 через CDEX.
Теперь это делается при помощи cmdlet New-Mailbox в Exchange Managment Shell:
http://technet.microsoft.com/en-us/library/aa997663.aspxИ cmdlet Set-User
http://technet.microsoft.com/en-us/library/aa998221.aspxА поверх навешиваете Import-Csv
http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/import-csv.mspxИ ForEach-Object
http://www.microsoft.com/technet/scriptcenter/topics/msh/cmdlets/foreach-object.mspxПолучаем что-то типа:
$password = Read-Host "Enter password" -AsSecureString
Import-Csv c:\users.txt | ForEach-Object {New-mailbox -UserPrincipalName $_.UserPrincipalName -alias $_.alias -database $_.database -Name $_.Name -OrganizationalUnit $_.OrganizationalUnit -password $password -FirstName $_.FirstName -LastName $_.LastName -DisplayName $_.DisplayName -ResetPasswordOnNextLogon $true}16 марта 2007 г. 12:22 -
С эксчем 2к7 пока не работал - про set-user не знал :) Странно только то что они не сделали его доступным в стандартном наборе PoSH...
16 марта 2007 г. 12:38Модератор -
Cпасибо.
По ходу возник вопрос по работе сmdlet-а Import-Csv.
Заметил, если строки файла CSV содержат английские символы или цифры, то все работает как надо. Если попадается значение набранное кириллицей, то парсер возвращает пустую строку. Как с этим бороться?
Например, хотелось бы создавать СN учетной записи пользователя на русском языке.Разобрался. Excel видимо экспортирует СSV записи в ASCII формате. Конвертнул содержимое CSV файла в Unicode и все заработало.
get-content -Path users.csv | out-file outfile.csv -encoding unicode19 марта 2007 г. 13:00 -
Попробуйте CSV файл из Notepad сохранить в Unicode.19 марта 2007 г. 13:19