Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   скрипт заполнения поля e-mail учетных записей AD, используя user logon name (http://forum.oszone.net/showthread.php?t=283230)

Vovanesko 06-06-2014 10:33 2360642

скрипт заполнения поля e-mail учетных записей AD, используя user logon name
 
Необходим такой скрипт:
Для каждого пользователя Active Directory (включая вложенные OU) провести проверку на заполнение поля e-mail.
Если в этом поле уже есть хоть один символ, то пропускаем.
Иначе надо заполнить это поле по следующему принципу:
берем значение "user logon name" текущего пользователя и конкатенируем без пробела с константой "@mail.ru"

Большое спасибо всем откликнувшимся!

Kazun 06-06-2014 12:56 2360714

Код:

Get-ADUser -Filter {Enabled -eq $true -and -not (mail -like '*')} | Foreach {Set-ADUser $_ -EmailAddress "$($_.samaccountname)@mail.ru"}

Vovanesko 10-06-2014 15:37 2362500

Спасибо!
Знание - сила!

dinovasya@vk 14-07-2014 18:35 2376422

не сработало. На контроллере домена создал файл ADfillemails.vbs , вставил в него эту строку.. ничего не произошло..

Windows PowerShell
(C) Корпорация Майкрософт, 2009. Все права защищены.

PS F:\Users\Администратор.IPIP> Get-ADUser -Filter {Enabled -eq $true -and -not (mail -like '*')} | Foreach {Set-ADUser
$_ -EmailAddress "$($_.samaccountname)@kamastretch.com"}
Имя "Get-ADUser" не распознано как имя командлета, функции, файла скрипта или выполняемой программы. Проверьте правильн
ость написания имени, а также наличие и правильность пути, после чего повторите попытку.
строка:1 знак:11
+ Get-ADUser <<<< -Filter {Enabled -eq $true -and -not (mail -like '*')} | Foreach {Set-ADUser $_ -EmailAddress "$($_.
samaccountname)@kamastretch.com"}
+ CategoryInfo : ObjectNotFound: (Get-ADUser:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

PS F:\Users\Администратор.IPIP>

Iska 15-07-2014 02:17 2376595

Имя "Get-ADUser" не распознано как имя командлета, функции, файла скрипта или выполняемой программы. - Поиск в Google:
Код:

Import-Module ActiveDirectory

dinovasya@vk 15-07-2014 19:10 2376904

Отличная работа!
Так как я люблю готовые решения в сети находить то и тут складу все в кучу, чтоб другие пришли сюда из гугла и нашли готовые строки и много читать не пришлось..:

Итак, идем в powershell
вставляем это:

Import-Module ActiveDirectory
Get-ADUser -Filter {Enabled -eq $true -and -not (mail -like '*')} | Foreach {Set-ADUser $_ -EmailAddress "$($_.samaccountname)@mail.ru"}

Mail.ru заменяем на другое если нужно.

Всё. Проверил- все поля email корректно заполнены логинами пользователей +@domen.ru

dinovasya@vk 22-07-2014 23:30 2380020

Как таким же образом заполнить пути к профилю, чтоб автоматически создались папки профилей.. чтоб у каждого появился путь к профилю с именем его логина?

Kazun 23-07-2014 08:08 2380081

Automatic creation of user folders for home, roaming profile and redirected folders. - http://blogs.technet.com/b/askds/arc...d-folders.aspx

yurvasya 12-05-2021 14:49 2957623

Спасибо, а как сделать тоже самое, но только для каждого подразделения? Не во всём каталоге. У меня в одном подразделении почты @yandex.ru а в другой @mail.ru.

Elven 12-05-2021 15:48 2957629

Код:

Get-ADUser -Filter {Enabled -eq $true -and -not (mail -like '*') -SearchBase "OU=users,OU=mailru,DC=doma,DC=in"

DJ Mogarych 12-05-2021 16:14 2957635

Или так:
Код:

Get-ADUser -Filter "Enabled -eq 'true' -and mail -notlike '*'" -SearchBase "OU=users,OU=mailru,DC=doma,DC=in"


Время: 11:05.

Время: 11:05.
© OSzone.net 2001-