PowerShell ile Exchange 2010 SP1 Yönetimi
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 [email protected] adresli e-mail’i atamış olduk.
New-Mailbox -Name ‘Berkcan Tatlidil’ -Alias ‘berkcan.tatlidil’ -OrganizationalUnit ‘ufuktatlidil.com/UfukTatlidil’ -UserPrincipalName ‘[email protected]’ -SamAccountName ‘berkcan.tatlidil’ -FirstName ‘Berkcan’ -Initials ” -LastName ‘Tatlidil’
Yeni bir Distribuion Gorup oluşturma ;
PowerShell komutumuz;
new-DistributionGroup -Name ‘Ufuk’ -SamAccountName ‘Ufuk’ -Alias ‘Ufuk’
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:ExchangeDBCozumpark.edb’ -LogFolderPath ‘E:ExchangeDBCozumpark’
Oluşturduğumuz Database’yi Mount edelim.
Mount-Database -Identity Cozumpark
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
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
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
User bazlı gönder-al limitlerinin belirlenmesi;
Set-Mailbox “Ufuk.Tatlidil” -MaxSendSize 20Mb -MaxReceiveSize 20Mb
Organizasyon bazında göder-al limitlerinin belirlenmesi;
Set-TransportConfig -MaxReceiveSize 15MB -MaxSendSize 15MB
Mailbox Disable için;
Disable-Mailbox ufuk.tatlidil
Mailbox Enable etmek için;
Enable-Mailbox ufuk.tatlidil
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.
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:resimufuk.jpg ve ya URL ‘></br></br></div> %%displayname%% </br> MCITP,CEH</br></div>’ -ApplyHtmlDisclaimerFallbackAction ‘Wrap’
Database’lerimizi kontrol etmek için;
Get-MailboxDatabase
Database’lerimizin durumunu görmek için;
Get-MailboxDatabaseCopyStatus
Gizli MailBox’lara göz atmak için ;
Get-Mailbox –Arbitration
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
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
Exchange’ sunucumuzda ki tüm Mailboxların özetini görmek için;
Get-Mailbox-Server“DC”
Makalemizin sonuna geldik. Umarım hepinize faydalı olmuştur.