Powershell – Transcripts

Genelde pek bilinmeyen bu komut Powershell ortamında yapılan tüm çalıştırılan komutları ve çıktılarını bir text dosyada tutmaktadır.

Aşağıdaki komut yardımıyla bu loglamayı başlatabiliriz.

PS C:\enisgoktay> Start-Transcript c:\enisgoktay\Monday.txt

Transcript started, output file is c:\enisgoktay\Monday.txt

Yapılan işlemler sonrası ilgili text dosyasını açtığımızda yapılan tüm komuları ve çıktılarını görebiliriz.

Özellikle troubleshooting esnasında oldukça faydalı olmaktadır. Yine aşağıdaki komut yardımıyla bu loglama durdurulur.

PS C:\enisgoktay>Stop-Transcript

Daha sonra yapacağımız çalışmaları aynı text dosyasına eklemek istersek;

PS C:\enisgoktay> Start-Transcript c:\enisgoktay\Monday.txt –append

Komutunu kullanabiliriz.

İyi çalışmalar

Exchange–Powershell Mailbox kota almak

Merhaba,

Kullanıcıların mailbox kotalarını, ne kadar kullanıldığını ve hangi veritabanında bulunduğuna dair bir script işinizi görebilir.

Aşağıdaki script daha da geliştirilebilir tabii ki,

 

$mailboxes = @(Get-Mailbox -ResultSize Unlimited)
$rapor = @()

foreach ($mailbox in $mailboxes)
{
    $mbxstats = Get-MailboxStatistics $mailbox
    $mbxObj = New-Object PSObject
    $mbxObj | Add-Member -MemberType NoteProperty -Name “Display Name” -Value $mailbox.DisplayName
    $mbxObj | Add-Member -MemberType NoteProperty -Name “Database” -Value $mailbox.Database
    $mbxObj | Add-Member -MemberType NoteProperty -Name “Quota” -Value $mailbox.ProhibitSendReceiveQuota
    $mbxObj | Add-Member -MemberType NoteProperty -Name “Total Sizes” -Value $mbxstats.TotalItemSize
    $rapor += $mbxObj
}
$rapor

Powershell–Delete files older than (xxx)

Merhaba,

Aşağıdaki scriptte,  belirtilen bir günden sonra ilgili path’ten dosyaları silebiliriz

# Limit belirtilir.

$limit = (Get-Date).AddDays(-180)

#Path belirtilir.
$path = “C:\inetpub\logs\LogFiles\W3SVC1\”

# Limit dahilinde ilgili path’teki dosyalar silinir.

Get-ChildItem -Path $path -Recurse -Force | Where-Object { !$_.PSIsContainer -and $_.CreationTime -lt $limit } | Remove-Item -Force

Exchange Server Virtualization – Best Practice…

Exchange Server 2013′ten önceki versiyonlar sanallaştırıldığı gibi bu versiyonda sanallaştırılabilir. Sanallaştırılırken bazı best practiceleri de göz önünde bulundurmak zorunlu hale gelmektedir.
Aşağıda dikkat edilmesi gereken önemli noktalar bulunmaktadır.
* VM’de dynamic memory kullanılmamalıdır. Kullanıldığı taktirde negatif yönde sunucu performansına etki etmektedir.
* Dynamically expanding disk, snapshot ve differencing disk kesinlikle desteklenmemektedir.
* Fiziksel sunucuda ihtiyac miktarı işlemci kadar verilmesi önerilir. Genel oran 1:1′dir. Fakat en fazla verilebilecek oran 2:1′dir. Bu demek oluyor ki eğer fiziksel olarak 16 Core işlemci ihtiyaç buklunuyorsa snal tarafta 32 core geçmemesi gerekmektedir.
* Yine fiziksel sunucularda kullanılan RAM miktarı, sanal ortamdaki sunucular içinde verilebilir. Oran 1:1 olabilir.
* Storage için herhangi bir değişiklik yapılmasına gerek yoktur.
* Gerekenden fazla donanım verilmemelidir.

DCDIAG

Dcdiag, Domain Controller Diagnostic Tool’un diğer adıdır. Yönetici yetkisiyle, komut satırından dcdiag yazıp, çalıştırarak Etki Alanı Denetleyicisinin durumu hakkında bilgi sahibi olabiliriz.

Bu komut çıktısı sonrası herhangi bir problemin olup olmadığı ve varsa problemleri nasıl giderebileceğimiz hakkında bilgi sahibi oluruz. Read more …

Sysinternals – Powershell ile installation…

Bildiğiniz üzere Microsoft yakın zamanda Powershell 5.0’ı anons etmişti. Bu version ile özellikle sysinternal toollarını kolayca install edebilir hale geldik.

Aşağıdaki örneklerde nasıl yapılabildiğini anlatmaya çalışacağım

Find-Package Sysinternals

komutu ile paketin durumunu check edebiliriz.

Find-Package Sysinternals | Install-Package

ile de kurma işlemini yapabiliriz.

image