Computer >> Máy Tính >  >> Hệ thống >> máy chủ Windows

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Trong Windows Server 2012R2 / 2016/2019, bạn có thể sử dụng bảng điều khiển Server Manager đồ họa để cài đặt và xóa các tính năng và vai trò của máy chủ. Tuy nhiên, trong hầu hết các trường hợp, bạn có thể làm điều tương tự từ bảng điều khiển PowerShell nhanh hơn nhiều. Trong bài viết này, chúng tôi sẽ xem xét cách quản lý các vai trò và tính năng trong các phiên bản Windows Server hiện đại với PowerShell.

Nội dung:

  • Liệt kê tất cả các Vai trò &Tính năng Windows Server đã Cài đặt qua PowerShell
  • Cách cài đặt Vai trò &Tính năng của Windows Server bằng PowerShell?
  • Cách triển khai các vai trò trên nhiều máy chủ Windows từ xa?
  • Cách gỡ cài đặt Vai trò hoặc Tính năng trên Windows Server bằng PowerShell?

Liệt kê tất cả các Vai trò &Tính năng Windows Server đã Cài đặt qua PowerShell

Sử dụng Get-WindowsFeature lệnh ghép ngắn để hiển thị danh sách tất cả các vai trò và tính năng có sẵn của Windows Server. Nếu bạn chạy nó mà không có tham số, bạn sẽ thấy thông tin về tất cả các thành phần của Windows Server.

Tên của thành phần (Tên hiển thị), tên hệ thống (Tên) và trạng thái (Trạng thái cài đặt: Đã cài đặt, Có sẵn hoặc Đã xóa ) Được hiển thị. Danh sách các vai trò và tính năng trông giống như một cây với các vai trò lồng nhau tương tự như danh sách bạn thấy khi cài đặt các vai trò trong GUI Trình quản lý máy chủ. Để cài đặt và xóa bất kỳ vai trò hoặc tính năng nào bằng PowerShell, bạn phải biết tên hệ thống của chúng được liệt kê trong Tên cột.

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Gợi ý . Nếu một vai trò hoặc một tính năng bị Đã xóa , điều đó có nghĩa là các tệp cài đặt của nó bị xóa khỏi sote cấu phần hệ thống (để giảm kích thước của thư mục WinSxS) và bạn sẽ không thể cài đặt role mà không có quyền truy cập Internet trực tiếp hoặc ISO cài đặt Windows Server (xem ví dụ với. Cài đặt Net 3.5).

Bạn có thể xóa các vai trò hoặc thành phần khỏi hình ảnh của mình trực tuyến như sau:

Uninstall-WindowsFeature –Name DHCP –Remove

Để cài đặt vai trò DHCP đã bị loại bỏ, hãy sử dụng lệnh ghép ngắn này:

Install-WindowsFeature DHCP (bạn sẽ cần truy cập Internet trực tiếp)

Hoặc bạn có thể khôi phục các tệp nhị phân thành phần từ ảnh ISO của Windows Server:

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

Bạn có thể liệt kê các tính năng máy chủ đã cài đặt:

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

Dựa trên ảnh chụp màn hình bên dưới, máy chủ này được sử dụng làm máy chủ tệp (các vai trò của FileAndStorage-Services, Storage-Services được cài đặt). Hầu hết các thành phần khác được sử dụng để quản lý hoặc giám sát máy chủ.

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Nếu bạn không biết chính xác tên vai trò, bạn có thể sử dụng ký tự đại diện. Ví dụ:để kiểm tra thành phần web nào của vai trò IIS được cài đặt, hãy chạy lệnh này (cú pháp được rút gọn một chút):

Get-WindowsFeature -Name web-* | Where installed

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Bạn có thể lấy danh sách các thành phần đã cài đặt trên Windows Server từ xa:

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

Đánh giá theo các vai trò Print-Services và Print-Server đã cài đặt, máy chủ này được sử dụng như một máy chủ in.

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Bạn có thể sử dụng lệnh ghép ngắn Get-WindowsFeature để tìm các máy chủ trong miền của bạn, trên đó vai trò cụ thể được cài đặt. Bạn có thể tìm kiếm máy chủ của mình trong một đơn vị tổ chức Active Directory cụ thể bằng cách sử dụng lệnh ghép ngắn Get-ADComputer từ mô-đun PowerShell ActiveDirectory hoặc theo danh sách máy chủ được cung cấp ($servers = ('server1', 'server2') ).

Ví dụ:bạn muốn tìm tất cả các máy chủ tệp có vai trò FileAndStorage-Services trong đơn vị tổ chức AD được chỉ định (Tôi đang sử dụng Mã Visual Studio làm trình chỉnh sửa PoweShell). Sử dụng tập lệnh sau:

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=woshub,DC=com’ |select name
Foreach ($server in $Servers)
{
Get-WindowsFeature -name FileAndStorage-Services -ComputerName $server.Name | Where installed | ft $server.name, Name, Installstate
}

Trong đầu ra, bạn sẽ nhận được danh sách các máy chủ, trên đó vai trò cụ thể được cài đặt.
Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Làm thế nào để Cài đặt Vai trò &Tính năng của Windows Server bằng PowerShell?

Để cài đặt các vai trò và tính năng trên Windows Server, Install-WindowsFeature lệnh ghép ngắn được sử dụng.

Để cài đặt vai trò máy chủ DNS và các công cụ quản lý (bao gồm cả mô-đun Powershell DNSServer) trên máy chủ hiện tại, hãy chạy lệnh sau:

Install-WindowsFeature DNS -IncludeManagementTools

Theo mặc định, lệnh ghép ngắn cài đặt tất cả các vai trò và tính năng phụ thuộc. Để hiển thị danh sách các phần phụ thuộc trước khi cài đặt, hãy sử dụng tùy chọn WhatIf :
Install-WindowsFeature -Name UpdateServices -WhatIf

Ví dụ:để cài đặt vai trò WSUS, bạn cũng sẽ phải cài đặt một số thành phần IIS.

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.

Để cài đặt vai trò Máy chủ phiên Máy tính Từ xa, vai trò cấp phép RDS và các công cụ quản lý từ xa RDS, hãy sử dụng lệnh sau:

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

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Nếu bạn thêm –Restart , máy chủ của bạn sẽ được tự động khởi động lại nếu được yêu cầu.

Bạn cũng có thể cài đặt một thành phần bằng lệnh sau. Ví dụ:để cài đặt vai trò máy chủ SMTP:

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

Cách triển khai các vai trò trên nhiều máy chủ Windows từ xa?

Có một tùy chọn thú vị khác khi bạn triển khai các máy chủ điển hình. Bạn có thể cài đặt các tính năng bạn muốn trên Windows Server tham chiếu và xuất danh sách các vai trò đã cài đặt sang tệp CSV:

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

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Sau đó, bạn sẽ có thể sử dụng tệp CSV này để cài đặt cùng một nhóm vai trò trên các máy chủ điển hình khác:

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

Quản lý các Vai trò &Tính năng của Máy chủ Windows với PowerShell

Nếu một vai trò hoặc một tính năng đã được cài đặt, lệnh sẽ trả về NoChangeNeeded và tiếp tục cài đặt vai trò tiếp theo.

Hoặc để cài đặt cùng một bộ vai trò trên nhiều máy chủ từ xa, bạn có thể sử dụng lệnh sau:

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

Làm cách nào để Gỡ cài đặt Vai trò hoặc Tính năng trên Máy chủ Windows bằng PowerShell?

Để loại bỏ các vai trò hoặc tìm nạp Windows Server, Xóa tính năng Windows lệnh ghép ngắn được sử dụng.

Ví dụ:để loại bỏ vai trò máy chủ in, hãy chạy lệnh:

Remove-WindowsFeature Print-Server -Restart