PowerShell: Изменение имен для входа в систему пользователей Active Directory (пакетное)
Пользователи Active Directory входят в систему с помощью своих имен для входа и паролей. Но каковы правила присвоения имен пользователя? g.фамилия? фамилия? gsurname? Каковы правила наименования? Эта статья ищет и модифицирует пользователей, которые не соответствуют правилам наименования.
Поиск логин-имен, которые не соответствуют naming convention
Для следующего предполагается, что вы используете соглашение об именовании g.фамилия для всех вновь созданных пользователей (Патрик Грюнауэр=p.gruenauer). Поэтому нам нужно искать имена пользователей, которые не содержат точки (.). Вот одно из них:
Теперь мы ищем пользователей в конкретном организационном подразделении (Люди), которые не соответствуют правилам наименования.
Get-ADUser -Filter {SamAccountName -NotLike "*.*"} -Searchbase "OU=People,DC=SID-500,DC=COM" | Select-Object Name,SamAccountName,Userprincipalname
Тщательно проверьте список. На следующем шаге мы начнем изменять их SamAccountName и Userprincipalname.
Изменение имен входа пользователей
Теперь мы собираемся заменить SamAccountName и UserprincipalName на первую букву имени, за которой следует точка и фамилия в нижнем регистре.
Get-ADUser -Filter {(SamAccountName -NotLike "*.*") -and (UserprincipalName -notlike "*.*@*")} -SearchBase "OU=People,DC=SID-500,DC=COM" | Foreach-Object {Set-ADUser $_ -SamAccountName ($_.givenname.substring(0,1) + '.' + $_.surname).tolower() -UserPrincipalName (($_.givenname.substring(0,1) + '.' + $_.surname).tolower() + "@" + "$env:userdnsdomain")}
Шварценберг затем становится а.шварценберг:
Последний, но не по значимости
Не забудьте проинформировать пользователей! 😉



