"Enter"a basıp içeriğe geçin

Active Directory ProxyAddress Attribute Güncellenmesi

Etki alanınızdaki proxy adresleri olmayan tüm kullanıcılara belirleyeceğimiz domainleri eklememize yardimci olacak harika bir Powershell betiği paylaşmak istiyorum, Set-ADUser komutunu kullanarak GivenName ve SurName’i otomatik olarak değiştirdiğimi ve proxyaddresses attribute değerinin güncellediğimi görebilirsiniz.

Eğer kullanıcıda ilgili attribute değeri var ise o kullanıcıda aksi bir işlem gerçekleşmemekte.

Import-Module activedirectory
$newproxy = "@xx.com"
$newproxy2 = "@xx.onmicrosoft.com"
$newproxy3 = "@xx.mail.onmicrosoft.com"
$userou = "OU=TURKEY-TR,OU=Accounts,DC=xx,DC=xx"
$users = Get-ADUser -Filter ‘*’ -SearchBase $userou -Properties SamAccountName, ProxyAddresses



Foreach ($user in $users) {

Set-ADUser -server rns-xx.xx.xx-Identity $user.samaccountname -Add @{Proxyaddresses=”smtp:”+$user.samaccountname+””+$newproxy}
Set-ADUser -server rns-xx.xx.xx-Identity $user.samaccountname -Add @{Proxyaddresses=”smtp:”+$user.samaccountname+””+$newproxy2}
Set-ADUser -server rns-xx.xx.xx-Identity $user.samaccountname -Add @{Proxyaddresses=”smtp:”+$user.samaccountname+””+$newproxy3}

}

İşlem başarıyla gerçekleşti.

Peki ProxyAddress boş kalan kullanıcı kaldı mı? Aşağıdaki Powershell script sorgu atabiliriz,

Get-ADUser -Filter * -SearchBase "OU=TURKEY-TR,OU=Accounts,DC=xx,DC=xx" -Properties  SamAccountName, proxyaddresses,enabled | 
select  SamAccountName,proxyaddresses,enabled | Where-Object {$_.proxyaddresses.count -eq 0 -and $_.enabled -eq 'True' }  

Peki bazı kullanıcılardan ya da tüm kullanıcılardan ProxyAddress alanının silinmesi için aşağıda belirtilen script ile ilerleyebiliriz.

CSV içerisinde belirtilen kullanıcının ProxyAddresses değeri silinir.

#Remove ProxyAddresses from CSV:
$users = Get-Content "C:\temp\users.txt"
   foreach ($us in $users) {
       Set-ADUser $us -Clear ProxyAddresses
 }

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir