Mengelola peran dan fitur Windows Server dari PowerShell

Di Windows Server 2012R2 / 2016/2019, Anda dapat menginstal dan menghapus berbagai peran dan komponen server melalui Manajer Server grafis. Namun, dalam kebanyakan kasus, operasi yang sama ini dapat dilakukan jauh lebih cepat dari konsol PowerShell. Pada artikel ini, kami akan mempertimbangkan fitur peran dan manajemen fitur di versi Windows Server saat ini..

Konten:

  • Cara mendaftar semua peran dan komponen yang diinstal dari Windows Server?
  • Instal peran dan fitur Windows Server dari PowerShell
  • Menyebarkan Peran ke Banyak Server Windows
  • Cara menghapus peran atau fitur di Windows Server menggunakan PowerShell?

Cara mendaftar semua peran dan komponen yang diinstal dari Windows Server?

Gunakan cmdlet untuk mendaftar semua peran dan fitur yang tersedia dari Windows Server. Dapatkan-WindowsFeature. Jika Anda menjalankannya tanpa parameter, informasi tentang semua komponen akan muncul..

Seperti yang Anda lihat, nama komponen (Nama Tampilan), nama sistemnya (Nama), dan statusnya (Status Instalasi: Terpasang, Tersedia atau Dihapus) Daftar peran dan komponen adalah pohon dengan peran bersarang yang menyerupai yang Anda lihat ketika menginstal peran melalui Server Manager grafis. Untuk menginstal dan menghapus peran dan komponen melalui PowerShell, Anda perlu mengetahui nama sistem mereka, yang terkandung dalam kolom Nama.

Kiat. Jika suatu peran atau fungsi dalam keadaan Dihapus, itu berarti file instalasinya dihapus dari repositori sistem lokal (mengurangi ukuran folder WinSxS) dan Anda tidak dapat menginstal peran ini.

Peran dan komponen dihapus dari gambar sebagai berikut:

Uninstall-WindowsFeature -Name DHCP -Hapus

Untuk menginstal peran jarak jauh, gunakan cmdlet:

Instal-WindowsFeature DHCP (Diperlukan akses Internet)

Atau Anda dapat memulihkan komponen distribusinya dengan versi Windows Server Anda:

Instal-WindowsFeature DHCP -Sumber E: \ sources \ sxs

Anda dapat mendaftar komponen server yang diinstal:

Get-WindowsFeature | Di mana-Objek $ _. installstate -eq "terpasang" | ft Name, Installstate

Dilihat oleh tangkapan layar, server ini digunakan sebagai server file (peran FileAndStorage-Services, Storage-Services). Sebagian besar komponen yang tersisa digunakan untuk mengelola dan memantau server..

Jika Anda tidak tahu nama pasti peran tersebut, Anda dapat menggunakan wildcard. Misalnya, untuk memeriksa komponen web mana dari peran IIS diinstal, lakukan (sedikit mengurangi sintaks):

Get-WindowsFeature -Name web- * | Di mana dipasang

Anda bisa mendapatkan daftar komponen yang diinstal pada Server Windows jarak jauh:

Dapatkan-WindowsFeature -ComputerName msk-prnt1 | Di mana dipasang | ft Name, Installstate

Dilihat oleh peran Print-Services dan Print-Server yang diinstal, server ini digunakan sebagai server cetak.

Anda dapat menggunakan cmdlet Get-WindowsFeature untuk mencari server di domain yang memiliki peran khusus yang diinstal. Anda dapat mencari server di OU Direktori Aktif tertentu menggunakan cmdlet Get-ADComputer dari ActiveDirectory untuk modul PowerShell, atau dengan menggunakan daftar server yang ditentukan ($ server = ('server1', 'server2')) Sebagai contoh, kita perlu menemukan semua server file dengan peran FileAndStorage-Services dalam wadah AD yang ditentukan (saya menggunakan editor PS - Visual Studio Code)

direktori aktif modul impor
$ Server = dapatkan-adcomputer -properties * -Filter Operatingsystem -notlike "* 2008 *" -dan diaktifkan -eq "true" -and Operatingsystem-like "* Windows Server *" -SearchBase 'OU = Server, OU = MSK , DC = winitpro.ru, DC = ru '| pilih nama
Foreach ($ server dalam $ Server)

Get-WindowsFeature -name FileAndStorage-Services -ComputerName $ server.Name | Di mana dipasang | ft $ server.name, Name, Installstate

Akibatnya, kami memiliki daftar server tempat peran ini diinstal..

Instal peran dan fitur Windows Server dari PowerShell

Untuk menginstal peran dan fitur di Windows Server, gunakan cmdlet Install-WindowsFeature.

Untuk menginstal peran DNS pada server saat ini dan alat manajemen (termasuk modul Powershell - DNSServer), jalankan:

Instal-WindowsFeature DNS -IncludeManagementTools

Secara default, cmdlet menginstal semua peran dan komponen dependen yang diperlukan saat menginstal peran. Untuk mendaftar dependensi sebelum instalasi, gunakan opsi.
Instal-WindowsFeature -name UpdateServices -whatif

Misalnya, untuk menginstal peran server pembaruan WSUS, Anda harus menginstal beberapa komponen IIS.

Bagaimana jika: Lanjutkan dengan instalasi?
Bagaimana jika: Melakukan instalasi untuk "[Layanan Pembaruan Server Windows] Pembaruan Server Windows
Bagaimana jika: Melakukan instalasi untuk "[Layanan Pembaruan Server Windows] Basis Data WID".
Bagaimana jika: Melakukan instalasi untuk "[Layanan Pembaruan Server Windows] Layanan WSUS".
Bagaimana jika: Melakukan instalasi untuk "[Server Web (IIS)] Otentikasi Windows".
Bagaimana jika: Melakukan instalasi untuk "[Web Server (IIS)] Dynamic Content Compression".
Bagaimana jika: Melakukan instalasi untuk "[Web Server (IIS)] Kinerja".
Bagaimana jika: Melakukan instalasi untuk "[Server Web (IIS)] Konten Statis".
Bagaimana jika: Melakukan instalasi untuk "[Basis Data Internal Windows] Basis Data Internal Windows".
Bagaimana jika: Server target mungkin perlu direstart setelah instalasi selesai.

Untuk menginstal peran Host Desktop Sesi Jauh, layanan lisensi RDS, dan utilitas manajemen RDS di server jauh, gunakan perintah:

Instal-WindowsFeature -ComputerName msk-rds21 RDS-RD-Server, RDS-Licensing -Termasuk AllSubFeature -IncludeManagementTools -Restart

Dengan parameter -Mulai ulang server akan secara otomatis restart jika komponen yang diinstal memerlukannya.

Anda juga dapat menginstal komponen dengan perintah ini (misalnya, peran server SMTP):

Get-WindowsFeature -Name SMTP-Server | Instal-WindowsFeature

Menyebarkan Peran ke Banyak Server Windows

Fitur menarik lainnya ketika menggunakan server dengan tipe yang sama. Anda dapat menginstal komponen yang diperlukan pada referensi Windows Server dan mengekspor daftar peran yang diinstal ke file CSV:

Get-WindowsFeature | di mana $ _. Diinstal -eq $ True | pilih nama | Ekspor-Csv C: \ ps \ Roles.csv -NoTypeInformation -Verbose

Kemudian Anda dapat menggunakan file CSV ini untuk menginstal set peran yang sama di server tipikal lainnya:

Impor-Csv C: \ PS \ Roles.csv | foreach Instal-WindowsFeature $ _. name

Jika peran atau komponen sudah diinstal, perintah akan kembali NoChangeNeeded dan terus menginstal peran selanjutnya.

Atau untuk menginstal set peran yang sama di beberapa server sekaligus, Anda dapat menggunakan perintah berikut:

$ server = ('srv1', 'srv2', 'srv3')
foreach ($ server dalam $ server) Instal-WindowsFeature RDS-RD-Server -ComputerName $ server

Cara menghapus peran atau fitur di Windows Server menggunakan PowerShell?

Gunakan cmdlet untuk menghapus peran dan fitur Windows Server Hapus-WindowsFeature.

Misalnya, untuk menghapus peran server cetak, jalankan perintah:

Remove-WindowsFeature Print-Server -Restart