IT & IoT Security | Cloud | It's all about the life itself

Nothing in life is as important as you think it is, while you are thinking about it.

Exchange Server 2013, Shell ile Bulk Recipient Management

 

Merhaba,

Önceki yazılarımda Exchange Recipient’larından ve yönetimlerinden bahsetmiştim. Blog’umdan inceleyebilirsiniz. Recipient yönetiminde, yönetimsel eforu azaltma adına ya da işte verimliliği arttırma adına csv(comma separated value) dosyası ile bulk recipient management önemlidir. Bulk recipient management’ta csv uzantılı dosya, veritabanı tablosu gibi kullanılır. Delimiter olarak “,” kullanılır. Her veri, satırlara yazılır. Satırlardaki alanlar birbirinden delimiter ( “,” ) ile ayrılır. CSV dosyasının hazırlanması için notepad text editorü kullanılabileceği gibi daha zengin arayüz sunan excel kullanılabilir.

Excel ile devam edeceğim

.

clip_image002

Bir kaç satır oluşturdum. Dosyanın detayları üstteki gibi. Dosyayı *.csv uzantılı halde kaydedebilirsiniz. Daha sonra notepad ile ve ya excel ile açarak, içeriğini değiştirebilirsiniz.

Exchange management shell’i , windows powershell ile remoting’i yada powershell scripting environment debugging aracını kullanarak aşağıdaki cmdlet’leri çalıştırın ve dosya içeriğinden edinilen veriler ile user accout’ları ve mailbox’ları oluşturun.

$parola=ConvertTo-SecureString -AsPlainText Password1 -Force

Import-csv c:\Bulk_Accout_for_CSV.csv | % {new-mailbox -Name $_.Name -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName -OrganizationalUnit $_.OrganizationalUnit -Password $parola -ResetPasswordOnNextLogon $false }

Windows Powershell ISE görüntüsü aşağıdaki gibidir.

clip_image003

CSV dosyasındaki verilere göre user account’ları ve mailbox’ları oluşturuldu. Gerekiyorsa excel tablosuna “Password” kolonu eklenerek, parola değişkeni döngü içine alınabilir. Bu durumda döngü ve cmdlet’ler aşağıdaki gibi olacaktır.

Import-CSV C:\Mailboxes.CSV | % {

$parola = ConvertTo-SecureString -AsPlainText $_.Password –Force

New-Mailbox -Name $_.Name -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName -Password $parola

}

Bu işlemi bir adım daha ileri götürebiliriz. Excel tablosunu aşağıdaki gibi düşünelim.

clip_image005

Bu biçimde hazırlanan csv dosyası ile oluşturulan user account’ların, yönetimsel iş yükü getirebilecek diğer nitelikleri de yapılandırılmış olacaktır.

Aşağıdaki cmdlet ve döngü ile üstteki csv dosyasından elde edilecek verileri işleyebiliriz.

$parola=ConvertTo-SecureString -AsPlainText Password1 -Force

Import-CSV C:\ Bulk_Accout_for_CSV1.csv | % {New-Mailbox -Name $_.Name -FirstName $_.FirstName

-LastName $_.LastName -Alias $_.Alias -UserPrincipalName $_.UserPrincipalName

-Password $parola -OrganizationalUnit

$_.OrganizationalUnit -Database NW-BG

Set-User -Identity $_.Name -City $_.City -StateOrProvince $_.State -Title $_.Title -Department

$_.Department

Add-DistributionGroupMember -Identity ResearchDevelopment -Member $_.Name

Add-DistributionGroupMember -Identity Marketing -Member $_.Name

}

Bulk recipient management için üstte bahsi geçen döngüler ve cmdlet’ler ihtiyaçlar doğrultusunda geliştirilebilir. CSV dosyasını oluşturmak için Active Directory veritabanındaki objelerin niteliklerini “export” ederek bir base şablon hazırlayabilirsiniz.

Herkese sorunsuz ve neşeli günler dilerim.