PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Аватара пользователя
Vovanesko

PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение Vovanesko »

Необходим такой скрипт:

Для каждого пользователя Active Directory (включая вложенные OU) провести проверку на заполнение поля e-mail.

Если в этом поле уже есть хоть один символ, то пропускаем.

Иначе надо заполнить это поле по следующему принципу:

берем значение "user logon name" текущего пользователя и конкатенируем без пробела с константой "@mail.ru"



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

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение Kazun »

Код:

Код: Выделить всё

Get-ADUser -Filter {Enabled -eq $true -and -not (mail -like '*')} | Foreach {Set-ADUser $_ -EmailAddress "$($_.samaccountname)@mail.ru"}
Аватара пользователя
Vovanesko

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение Vovanesko »

не сработало. На контроллере домена создал файл 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
Аватара пользователя
dinovasya@vk

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение dinovasya@vk »

Отличная работа!

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



Итак, идем в 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

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение dinovasya@vk »

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

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение Kazun »

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

Re: PowerShell - скрипт заполнения поля e-mail учетных записей AD, используя user logon name

Сообщение Elven »

Код:

Код: Выделить всё

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

Вернуться в «Скриптовые языки администрирования Windows»