Bu yazımda sizlere Exchange Server 2010 SP1 üzerinde PowerShell management CMD’let ile Exchange 2010 yönetimi işlemlerini paylaşacağım.
İşlemlerimize başlayalım…
İlk komutumuz New-Mailbox komutu ile kullanıcı ve Mailboxoluşturma ;
Bu komut ile Active Directory’de UfukTatlidil OU’nun altına Berkcan Tatlidil kullanıcısını oluşturduk ve berkcan.tatlidil@ufuktatlidil.com adresli e-mail’i atamış olduk.
New-Mailbox -Name ‘Berkcan Tatlidil’ -Alias ‘berkcan.tatlidil’ -OrganizationalUnit ‘ufuktatlidil.com/UfukTatlidil’ -UserPrincipalName ‘berkcan.tatlidil@ufuktatlidil.com’ -SamAccountName ‘berkcan.tatlidil’ -FirstName ‘Berkcan’ -Initials ” -LastName ‘Tatlidil’
image001
Yeni bir Distribuion Gorup oluşturma ;
PowerShell komutumuz;
new-DistributionGroup -Name ‘Ufuk’ -SamAccountName ‘Ufuk’ -Alias ‘Ufuk’
image002
Yeni Security Group oluşturma;
PowerShell Komutumuz;

new-DistributionGroup -Name ‘Ufuk’ -Type ‘Security’ -SamAccountName ‘Ufuk Tatlidil’ -Alias ‘Ufuk’

New Mailbox Database Oluşturma;
new-mailboxdatabase -Server ‘Dc’ -Name ‘Cozumpark’ -EdbFilePath ‘E:\Exchange\DB\Cozumpark.edb’ -LogFolderPath          ‘E:\Exchange\DB\Cozumpark’
image003
Oluşturduğumuz Database’yi Mount edelim.
Mount-Database -Identity  Cozumpark
image004
Exchange 2007 ve Exchange 2010 veritabanlarında bulunan mailbox sayıları ve veritabanlarının boyutlarını görüntülemek isterseniz Exchange Management Shell ile bunu yapabilmek mümkün.Bütün veritabanlarındaki Mailbox sayılarını görüntülemek istersek aşağıda belirttiğim komutu kullanabiliriz.
Get-MailboxDatabase | Select Server, StorageGroupName, Name, @{Name=”Number Of Mailboxes”;expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} | Format-Table –AutoSize

image005

Eğer raporu c:\ altında bir excel “CSV” formatın’da almak istersek kullanacağımız komut ;

Get-MailboxDatabase | Select Server, StorageGroupName, Name, @{Name=”Number Of Mailboxes”;expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} | Export-Csv C:\ufukdb.csv

Birden fazla Database’imiz içim rapor almak istersek, kullanmamız gereken Cmd’letimiz ise ;

Get-MailboxDatabase | Select Server, StorageGroupName, Name, @{Name=”Size (GB)”;Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = “`\`\” + $objitem.server + “`\” + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + “$”+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1048576KB; [math]::round($size, 2)}}, @{Name=”Size (MB)”;Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = “`\`\” + $objitem.server + “`\” + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + “$”+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1024KB; [math]::round($size, 2)}}, @{Name=”No. Of Mbx”;expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} | Format-table –AutoSize

image006
Yine bu raporu excel “CSV” formatında almak istersek komutumuz;
Get-MailboxDatabase | Select Server, StorageGroupName, Name, @{Name=”Size (GB)”;Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = “`\`\” + $objitem.server + “`\” + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + “$”+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1048576KB; [math]::round($size, 2)}}, @{Name=”Size (MB)”;Expression={$objitem = (Get-MailboxDatabase $_.Identity); $path = “`\`\” + $objitem.server + “`\” + $objItem.EdbFilePath.DriveName.Remove(1).ToString() + “$”+ $objItem.EdbFilePath.PathName.Remove(0,2); $size = ((Get-ChildItem $path).length)/1024KB; [math]::round($size, 2)}}, @{Name=”No. Of Mbx”;expression={(Get-Mailbox -Database $_.Identity | Measure-Object).Count}} | Export-CSV C:\UFUKDBIST.csv
Exchange  2010 SP1 üzerinde oluşturulmuş ve member sayısı sıfır olan grupları aşağıda ki komut sayesinde bulabiliriz. Böylelikle c:\ altına .txt dosyası halinde atıp ,denetimimizi rahatlıkla gerçekleştirebiliriz.
Get-DistributionGroup | Where-Object { (Get-DistributionGroupMember –identity $_.Name).Count –lt 1 } | ft name, primarysmtpaddress –wrap | Out-File c:bosgruplar.txt

image007

User bazlı gönder-al limitlerinin belirlenmesi;
Set-Mailbox “Ufuk.Tatlidil” -MaxSendSize 20Mb -MaxReceiveSize 20Mb
image008
Organizasyon bazında göder-al limitlerinin belirlenmesi;
Set-TransportConfig -MaxReceiveSize 15MB -MaxSendSize 15MB
image009
Mailbox Disable için;

Disable-Mailbox ufuk.tatlidil
image010
Mailbox Enable etmek için;
Enable-Mailbox ufuk.tatlidil
image011
Aşağıda ki komut ile PowerShell yardımı ile Tüm kullanıcılarınıza imza ekleyebilirsiniz.
Komutu çalıştırdık’tan sonra Transport Rule kısmına Signature kuralı oluşması gerekmektedir.
image012
Komutumuz;
New-TransportRule -Name ‘Signatures’ -Comments ‘Signatures for Inside Organization’ -Priority ’0′ -Enabled $true -FromScope ‘InOrganization’ -ApplyHtmlDisclaimerLocation ‘Append’ -ApplyHtmlDisclaimerText ‘</br></br><div style=’font-size:11pt;  font-family: ”Calibri”,sans-serif;’><div><img alt=’ufuktatlidil’  src=’C:\resim\ufuk.jpg ve ya URL ‘></br></br></div> %%displayname%% </br> MCITP,CEH</br></div>’ -ApplyHtmlDisclaimerFallbackAction ‘Wrap’
image013
Database’lerimizi kontrol etmek için;
Get-MailboxDatabase
Database’lerimizin durumunu görmek için;
Get-MailboxDatabaseCopyStatus
image014
Gizli MailBox’lara göz atmak için ;
Get-Mailbox –Arbitration

image015

Default Mailbox Database Kaldırmak için;
Öncelikle mailboxlarımızı yeni db. Taşımamız gerekir.
Get-Mailbox -Arbitration | New-MoveRequest -TargetDatabase “Cozumpark”
Get-MoveRequest(Mailbox’ların taşıma işlemlerini görmemiz için)
Yukarıda ki komut başarılı bir şekilde Complated mesajı verdiyse , aşağıda ki komut ile mailboxların moverequest’lerini  kaldırmalıyız.
Get-MoveRequest | Remove-MoveRequest
image016
Bu işlemlerden sonra EMC üzerinden default DataBase’i kaldırabilirsiniz.
Tüm Exchange Mailbox’ların Quota bilgisini görmek için;
Get-Mailbox | Format-Table alias, *quota

image017

Exchange’ sunucumuzda ki tüm Mailboxların özetini görmek için;
Get-Mailbox-Server“DC”
image018
Makalemizin sonuna geldik. Umarım hepinize faydalı olmuştur.