Powershell kullanarak Windows Server rolleri ve özellikleriyle çalışma


PowerShell, yalnızca toplu işlemlerin gerçekleştirilmesine yardımcı olmakla kalmaz, aynı zamanda GUI araçlarını kullanarak zaman kazanmasına yardımcı olur. Örneğin, Active Directory’de birden fazla kullanıcı hesabını etkinleştirmeniz gerekiyorsa, çoğu yönetici Active Directory Users and Computers bileşenini kullanmak yerine PowerShell’i kullanmayı tercih eder. Benzer şekilde, PowerShell, Windows sunucularındaki rolleri ve özellikleri yönetmek için kullanılabilir. Server Manager’i uzak bir Windows Server’a bağlanmak için kullanabilirsiniz. Daha sonra Windows Server rollerinin ve özelliklerinin yüklenmesini ve kaldırılmasını gerçekleştirebilirsiniz. Ancak Server Manager kullanarak rolleri yüklemeniz ya da kaldırmanız biraz zaman alabilir. Bu makalede, uzak Windows Sunucularındaki rolleri ve özellikleri yönetmek için kullanabileceğiniz bazı PowerShell komutlarını açıklayacağız.

Windows Server adlarını tutan bir metin dosyası oluşturma

Bu makalede açıklanan PowerShell komutlarını birden çok Windows Sunucusu üzerinde kullanmak istediğimizden, sunucu adlarını tutan bir metin dosyası oluşturmamız gerekiyor. Dosya , her Windows Server adının tam domain adını (FQDN) içermelidir. WinServers.TXT adıyla bir dosya oluşturduğumuzu ve bu dosyayı C:\Temp altına koyduğumuzu varsayalım.

Kullanılacak PowerShell komutları

Microsoft, hem Windows Server rolleri hem de özelliklerle çalışmak için üç PowerShell cmdlet’i sunar. Bunlar, Install-WindowsFeature, Get-WindowsFeature ve Uninstall-WindowsFeature’dir. Bu üç cmdlet’i yüklemek, hedef Windows sunucularına yüklenen özelliklerin ve rollerin bir listesini almak ve kaldırmak için kullanılabilir. Windows sunucularımızın her biri için yüklenen rolleri ve özellikleri listeleyen bir rapor hazırlamak için Get-WindowsFeature PowerShell cmdlet’ini kullanabiliriz.

Windows Server rollerini ve özelliklerini yükleme ve kaldırma

Windows özelliklerini veya rollerini tek bir Windows bilgisayara yüklemeniz gerekirse, bu PowerShell komutunu çalıştırabilirsiniz. Komut, “Web-Server” rolünü TestServer.Teknolojikadam.com adlı bir bilgisayarda yükler.

Gördüğünüz gibi, yukarıdaki komutu kullanarak rolü kurmak daha kolaydır. “Web-Server” rolünü C:\Temp\WinServers.TXT dosyasında belirtilen Windows sunucularına yüklemek isterseniz, bu küçük PowerShell betiğini kullanabilirsiniz.

Windows Server rollerini ve özelliklerini kaldırmak oldukça basittir. Aşağıdaki örneklerde gösterildiği gibi Uninstall-WindowsFeature PowerShell cmdlet’ini kullanabilirsiniz.

Bir Windows özelliğini veya rolünü tek bir bilgisayardan kaldırmak için şu komutu çalıştırın.

Uninstall-WindowsFeature –Name Web-Server –ComputerName TestServer.Teknolojikadam.com

Kaldırma için kimlik bilgileri sağlamanız gerekiyorsa, aşağıdaki komutta gösterildiği gibi –Credential parametresini eklemeniz yeterlidir.

Uninstall-WindowsFeature –Name Web-Server –ComputerName TestServer.Teknolojikadam.com –Credential Teknolojikadam\Admin

Windows Server rollerini ve özelliklerini listeleme ve rapor hazırlama

Tüm Windows sunucuları üzerinde gerekli rol ve özelliklerin yüklü olduğundan ve fazladan roller ve özellikler yüklenmediğinden emin olmanız gerekiyorsa, bu PowerShell betiğini kullanabilirsiniz.

$WinServer = “C:\Temp\WinServers.TXT”
$Report = “C:\Temp\RoleFeaReport.CSV”
$STR = “Server Name, Role/Feature, State”
Add-Content $Report $STR
Foreach ($ThisServer in Get-Content “$WinServer”)
{
$AllRF = Get-WindowsFeature –ComputerName $ThisServer
ForEach ($AllItems in $AllRF)
{
$NameNow = $AllItems.Name
$StatusNow = $AllItems.”Install State”

IF ($StatusNow -eq “Installed”)
{
$STRNew = $ThisServer+”,”+$NameNow+”,Installed”
Add-Content $Report $STRNew
}
}
}

Yukarıdaki PowerShell betiği, C:\Temp\WinServers.TXT’de belirtilen tüm Windows sunucularını sorgular. Get-WindowsFeature komutunu çalıştırır. Hedef bilgisayardaki roller ve özelliklerin listesini alır. $AllRF değişkeninde depolar. ForEach döngü girişlerini $AllRF değişkeninde işler ve sadece “Installed” rolleri arar. Yüklü herhangi bir rol ve özellik bulursa, girdiyi C:\Temp\RoleFeaReport.CSV dosyasında ekler.

Windows Server rollerini ve özelliklerini yönetmek için Get-WindowsFeature, Install-WindowsFeature ve Uninstall-WindowsFeature PowerShell cmdlet’lerini kullanmanın birkaç örneğini gösterdik. Ayrıca, Windows sunucularında yüklü olan rollerin ve özelliklerin bir kaydını tutmak için kullanabileceğiniz bir PowerShell betiği örnekledik. Umarım faydalı olmuştur.

KAYNAKPOWERSHELL