Войти

Показать полную графическую версию : Простой скрипт переименования полей юзера в AD


butylin
02-07-2013, 13:12
Задача - написать скрипт присваивающий полю "Электронная почта" значение поля "Имя"+@mydomain.local. Для всех пользователей OU "MyUsers"
То есть, если Имя = 123, то Email будет 123@mydomain.local

Имя домена mydomain.local

Iska
02-07-2013, 16:44
значение поля "Имя" »
Атрибут «Имя» может иметь дубликаты.

$oDirectorySearcher = New-Object DirectoryServices.DirectorySearcher
$oDirectorySearcher.Filter = "(&(objectCategory=person)(objectClass=user))"
$oDirectorySearcher.SearchRoot = [System.DirectoryServices.DirectoryEntry]"LDAP://OU=MyUsers,DC=mydomain,DC=local"

$oDirectorySearcher.FindAll() | ForEach-Object -Process {
$oUser = [adsi]($_.GetDirectoryEntry()).Path
$sNewAddress = ([string]$oUser.sAMAccountName).ToLower() + "@mydomain.local"
$oUser.mail.Clear()
[void]$oUser.mail.Add($sNewAddress)
$oUser.SetInfo()
}

cameron
02-07-2013, 17:56
dsquery user "ou=users,ou=test,dc=test,dc=org" | dsmod user -email "$username$@test.local"

Kazun
02-07-2013, 19:42
Get-ADUser -Filter * -SearchBase "OU=Test,DC=Contoso,DC=Com" | Foreach {
Set-ADUser $_ -EmailAddress "$($_.samaccountname)@mydomain.local"
}




© OSzone.net 2001-2012