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 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’

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.

 

Exit mobile version