PowerShell ile Windows Sunucu Rollerini ve Özelliklerini Yönetme


Windows Server 2012R2/2016/2019'da, sunucu rollerini ve özelliklerini yüklemek ve kaldırmak için grafik Sunucu Yöneticisi konsolunu kullanabilirsiniz. Ancak çoğu durumda aynı işlemi PowerShell konsolundan çok daha hızlı yapabilirsiniz. Bu makalede, PowerShell ile modern Windows Server sürümlerinde rollerin ve özelliklerin nasıl yönetileceğini ele alacağız.

PowerShell ile Yüklü Tüm Windows Sunucu Rollerini ve Özelliğini Listeleyin

Kullanıcı

Get-WindowsFeature

Kullanılabilir tüm Windows Server rollerinin ve özelliklerinin listesini görüntülemek için cmdlet. Parametresiz çalıştırırsanız, tüm Windows Server bileşenleri hakkındaki bilgileri göreceksiniz.

Bir bileşenin adı (Görünen Ad), sistem adı (Ad) ve durumu (Yükleme Durumu: Yüklendi, Kullanılabilir veya Kaldırıldı) görüntülenir. Rollerin ve özelliklerin listesi, Sunucu Yöneticisi GUI'sinde rolleri yüklediğinizde gördüğünüze benzer yuvalanmış rollere sahip bir ağaca benzer. PowerShell kullanarak herhangi bir rolü veya özelliği yüklemek ve kaldırmak için Ad sütununda listelenen sistem adlarını bilmeniz gerekir.

İpucu. Bir rol veya özellik Kaldırıldı ise, bu, yükleme dosyalarının sistem bileşeninden kaldırıldığı anlamına gelir (WinSxS klasörünün boyutunu azaltmak için) ve rolü yüklemeden yükleyemezsiniz. doğrudan İnternet erişimi veya Windows Server kurulumu ISO'su (.Net 3.5 yüklemesi ile örneğe bakın).

Rolleri veya bileşenleri görüntünüzden çevrimiçi olarak şu şekilde kaldırabilirsiniz:

Uninstall-WindowsFeature -Name DHCP -Remove

Kaldırılan bir DHCP rolünü yüklemek için şu cmdlet'i kullanın:

Install-WindowsFeature DHCP

(doğrudan İnternet erişimine ihtiyacınız olacak)

Veya bileşen ikili dosyalarını Windows Server ISO görüntünüzden geri yükleyebilirsiniz:

Install-WindowsFeature DHCP -Source E:\sources\sxs

Yüklü sunucu özelliklerini listeleyebilirsiniz:

Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate

Aşağıdaki ekran görüntüsüne göre, bu sunucu bir dosya sunucusu olarak kullanılıyor (FileAndStorage-Services, Storage-Services rolleri kurulu). Diğer bileşenlerin çoğu, sunucuyu yönetmek veya izlemek için kullanılır.

Rol adını tam olarak bilmiyorsanız joker karakterler kullanabilirsiniz. Örneğin, IIS rolünün hangi web bileşenlerinin kurulu olduğunu kontrol etmek için şu komutu çalıştırın (sözdizimi biraz kısaltılmıştır):

Get-WindowsFeature -Name web-* | Where installed

Uzak bir Windows Sunucusunda yüklü bileşenlerin listesini alabilirsiniz:

Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,Installstate

Yüklü Yazdırma Hizmetleri ve Yazdırma Sunucusu rollerine bakılırsa, bu sunucu bir yazdırma sunucusu olarak kullanılır.

Etki alanınızdaki belirli rolün yüklü olduğu sunucuları bulmak için Get-WindowsFeature cmdlet'ini kullanabilirsiniz. PowerShell ActiveDirectory modülünden Get-ADComputer cmdlet'ini veya sağlanan sunucu listesini() kullanarak belirli bir Active Directory OU'daki sunucularınızı arayabilirsiniz.

$servers = ('server1', 'server2')

).

Örneğin, belirtilen AD kuruluş biriminde FileAndStorage-Services rolüne sahip tüm dosya sunucularını bulmak istiyorsunuz (PoweShell düzenleyicisi olarak Visual Studio Code kullanıyorum). Aşağıdaki komut dosyasını kullanın:

import-module activedirectory
$Servers=get-adcomputer -properties * -Filter {Operatingsystem -notlike "*2008 R2*" -and enabled -eq "true" -and Operatingsystem -like "*Windows Server*"} -SearchBase ‘OU=Servers,OU=UK,DC=a-d,DC=com’ |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}

Çıktıda, belirli rolün yüklendiği sunucuların listesini alacaksınız.

PowerShell Kullanarak Windows Sunucu Rolleri ve Özellikleri Nasıl Kurulur?

Rolleri ve özellikleri Windows Server'a yüklemek için Install-WindowsFeature cmdlet'i kullanılır.

Geçerli sunucuya DNS sunucusu rolünü ve yönetim araçlarını (Powershell DNSServer modülü dahil) yüklemek için şu komutu çalıştırın:

Install-WindowsFeature DNS -IncludeManagementTools

Varsayılan olarak, cmdlet tüm bağımlı rolleri ve özellikleri yükler. Kurulumdan önce bağımlılıkların listesini görüntülemek için seçeneği kullanın.

WhatIf
Install-WindowsFeature -Name UpdateServices -WhatIf

Örneğin, WSUS rolünü yüklemek için bazı IIS bileşenlerini de yüklemeniz gerekir.

What if: Continue with installation?
What if: Performing installation for "[Windows Server Update Services] Windows Server Update
What if: Performing installation for "[Windows Server Update Services] WID Database".
What if: Performing installation for "[Windows Server Update Services] WSUS Services".
What if: Performing installation for "[Web Server (IIS)] Windows Authentication".
What if: Performing installation for "[Web Server (IIS)] Dynamic Content Compression".
What if: Performing installation for "[Web Server (IIS)] Performance".
What if: Performing installation for "[Web Server (IIS)] Static Content".
What if: Performing installation for "[Windows Internal Database] Windows Internal Database".
What if: The target server may need to be restarted after the installation completes.

Uzak Masaüstü Oturum Ana Bilgisayarı rolünü, RDS lisanslama rolünü ve RDS uzaktan yönetim araçlarını yüklemek için aşağıdaki komutu kullanın:

Install-WindowsFeature -ComputerName lon-rds3 RDS-RD-Server, RDS-Licensing -IncludeAllSubFeature -IncludeManagementTools -Restart

eklerseniz

-Restart

parametresi, gerekirse sunucunuz otomatik olarak yeniden başlatılacaktır.

Aşağıdaki komutla da bir bileşen kurabilirsiniz. Örneğin, SMTP sunucusu rolünü yüklemek için:

Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature

Birden Çok Uzak Windows Sunucusunda Roller Nasıl Dağıtılır?

Tipik sunucuları dağıtırken başka ilginç bir seçenek daha var. İstediğiniz özellikleri referans bir Windows Server'a kurabilir ve kurulu rollerin listesini bir CSV dosyasına verebilirsiniz:

Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation -Verbose

Ardından, aynı rol setini diğer tipik sunuculara yüklemek için bu CSV dosyasını kullanabileceksiniz:

Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }

Bir rol veya özellik zaten kuruluysa, komut NoChangeNeeded değerini döndürür ve bir sonraki rolün kurulumuna devam eder.

Ya da aynı rol setini birden çok uzak sunucuya yüklemek için şu komutu kullanabilirsiniz:

$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}

PowerShell ile Windows Server Üzerinden Rol veya Özellik Nasıl Kaldırılır?

Windows Server rollerini veya feture'u kaldırmak için Remove-WindowsFeature cmdlet'i kullanılır.

Örneğin, bir yazdırma sunucusu rolünü kaldırmak için şu komutu çalıştırın:

Remove-WindowsFeature Print-Server -Restart

İlgili makaleler