ใน Windows Server 2012R2/2016/2019 คุณสามารถใช้คอนโซลตัวจัดการเซิร์ฟเวอร์แบบกราฟิกเพื่อติดตั้งและลบบทบาทและคุณสมบัติของเซิร์ฟเวอร์ อย่างไรก็ตาม ในกรณีส่วนใหญ่ คุณสามารถทำเช่นเดียวกันนี้จากคอนโซล PowerShell ได้เร็วกว่ามาก ในบทความนี้ เราจะพิจารณาวิธีจัดการบทบาทและคุณลักษณะใน Windows Server เวอร์ชันใหม่ด้วย PowerShell
สารบัญ:
- แสดงรายการบทบาทและคุณลักษณะของเซิร์ฟเวอร์ Windows ที่ติดตั้งทั้งหมดผ่าน PowerShell
- จะติดตั้งบทบาทและคุณสมบัติของเซิร์ฟเวอร์ Windows โดยใช้ PowerShell ได้อย่างไร
- จะปรับใช้บทบาทบนเซิร์ฟเวอร์ Windows ระยะไกลหลายเครื่องได้อย่างไร
- จะถอนการติดตั้งบทบาทหรือคุณลักษณะบน Windows Server ด้วย PowerShell ได้อย่างไร
แสดงรายการบทบาทและคุณลักษณะของเซิร์ฟเวอร์ Windows ที่ติดตั้งทั้งหมดผ่าน PowerShell
ผู้ใช้ Get-WindowsFeature
cmdlet เพื่อแสดงรายการบทบาทและคุณลักษณะของ Windows Server ที่มีอยู่ทั้งหมด หากคุณเรียกใช้โดยไม่มีพารามิเตอร์ คุณจะเห็นข้อมูลเกี่ยวกับส่วนประกอบ Windows Server ทั้งหมด
ชื่อของส่วนประกอบ (ชื่อที่แสดง) ชื่อระบบ (ชื่อ) และสถานะ (สถานะการติดตั้ง:ติดตั้ง พร้อมใช้งาน หรือลบออก ) จะแสดงขึ้น รายการบทบาทและคุณลักษณะดูเหมือนต้นไม้ที่มีบทบาทที่ซ้อนกันคล้ายกับที่คุณเห็นเมื่อคุณติดตั้งบทบาทใน Server Manager GUI ในการติดตั้งและลบบทบาทหรือคุณลักษณะโดยใช้ PowerShell คุณต้องทราบชื่อระบบที่ระบุไว้ใน ชื่อ คอลัมน์
คำแนะนำ . หากบทบาทหรือคุณลักษณะ ถูกลบ หมายความว่าไฟล์การติดตั้งจะถูกลบออกจากส่วนประกอบระบบ (เพื่อลดขนาดโฟลเดอร์ WinSxS) และคุณจะไม่สามารถติดตั้งบทบาทได้หากไม่มีการเข้าถึงอินเทอร์เน็ตโดยตรงหรือการติดตั้ง ISO ของ Windows Server (ดูตัวอย่างด้วยนามสกุล . ติดตั้งเน็ต 3.5)
คุณสามารถลบบทบาทหรือส่วนประกอบออกจากรูปภาพของคุณทางออนไลน์ได้ดังนี้:
Uninstall-WindowsFeature –Name DHCP –Remove
ในการติดตั้งบทบาท DHCP ที่ถูกลบ ให้ใช้ cmdlet นี้:
Install-WindowsFeature DHCP
(คุณจะต้องเชื่อมต่ออินเทอร์เน็ตโดยตรง)
หรือคุณสามารถกู้คืนไฟล์ไบนารีคอมโพเนนต์จากอิมเมจ ISO ของ Windows Server:
Install-WindowsFeature DHCP -Source E:\sources\sxs
คุณสามารถแสดงรายการคุณลักษณะเซิร์ฟเวอร์ที่ติดตั้ง:
Get-WindowsFeature | Where-Object {$_. installstate -eq "installed"} | ft Name,Installstate
ตามภาพหน้าจอด้านล่าง เซิร์ฟเวอร์นี้ใช้เป็นไฟล์เซิร์ฟเวอร์ (ติดตั้งบทบาท FileAndStorage-Services, Storage-Services) ส่วนประกอบอื่นๆ ส่วนใหญ่ใช้เพื่อจัดการหรือตรวจสอบเซิร์ฟเวอร์
หากคุณไม่ทราบชื่อบทบาทที่แน่นอน คุณสามารถใช้สัญลักษณ์แทนได้ ตัวอย่างเช่น หากต้องการตรวจสอบว่ามีการติดตั้งคอมโพเนนต์เว็บของบทบาท IIS ใดบ้าง ให้เรียกใช้คำสั่งนี้ (ไวยากรณ์จะสั้นลงเล็กน้อย):
Get-WindowsFeature -Name web-* | Where installed
คุณสามารถรับรายการส่วนประกอบที่ติดตั้งบนเซิร์ฟเวอร์ Windows ระยะไกล:
Get-WindowsFeature -ComputerName ny-spool1 | Where installed | ft Name,Installstate
เมื่อพิจารณาจากบทบาท Print-Services และ Print-Server ที่ติดตั้งไว้ เซิร์ฟเวอร์นี้จะถูกใช้เป็นเซิร์ฟเวอร์การพิมพ์
คุณสามารถใช้ Get-WindowsFeature cmdlet เพื่อค้นหาเซิร์ฟเวอร์ในโดเมนของคุณ ซึ่งมีการติดตั้งบทบาทเฉพาะไว้ คุณสามารถค้นหาเซิร์ฟเวอร์ของคุณใน Active Directory OU โดยใช้ Get-ADComputer cmdlet จากโมดูล PowerShell ActiveDirectory หรือตามรายชื่อเซิร์ฟเวอร์ที่ให้มา ($servers = ('server1', 'server2')
)
ตัวอย่างเช่น คุณต้องการค้นหาไฟล์เซิร์ฟเวอร์ทั้งหมดที่มีบทบาท FileAndStorage-Services ในหน่วยขององค์กร AD ที่ระบุ (ฉันกำลังใช้ Visual Studio Code เป็นตัวแก้ไข PoweShell) ใช้สคริปต์ต่อไปนี้:
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
}
ในผลลัพธ์ คุณจะได้รับรายชื่อเซิร์ฟเวอร์ซึ่งมีการติดตั้งบทบาทเฉพาะ
จะติดตั้งบทบาทและคุณลักษณะของเซิร์ฟเวอร์ Windows โดยใช้ PowerShell ได้อย่างไร
ในการติดตั้งบทบาทและคุณลักษณะบน Windows Server Install-WindowsFeature ใช้ cmdlet
ในการติดตั้งบทบาทเซิร์ฟเวอร์ DNS และเครื่องมือการจัดการ (รวมถึงโมดูล Powershell DNSServer) บนเซิร์ฟเวอร์ปัจจุบัน ให้เรียกใช้คำสั่งนี้:
Install-WindowsFeature DNS -IncludeManagementTools
ตามค่าเริ่มต้น cmdlet จะติดตั้งบทบาทและคุณลักษณะที่ขึ้นต่อกันทั้งหมด หากต้องการแสดงรายการการพึ่งพาก่อนการติดตั้ง ให้ใช้ตัวเลือก WhatIf
:Install-WindowsFeature -Name UpdateServices -WhatIf
ตัวอย่างเช่น ในการติดตั้งบทบาท WSUS คุณจะต้องติดตั้งส่วนประกอบ 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.
ในการติดตั้งบทบาทโฮสต์เซสชันเดสก์ท็อประยะไกล บทบาทสิทธิ์การใช้งาน RDS และเครื่องมือการจัดการระยะไกล RDS ให้ใช้คำสั่งต่อไปนี้:
Install-WindowsFeature -ComputerName lon-rds3 RDS-RD-Server, RDS-Licensing –IncludeAllSubFeature –IncludeManagementTools –Restart
หากคุณเพิ่ม –Restart
พารามิเตอร์ เซิร์ฟเวอร์ของคุณจะถูกรีสตาร์ทโดยอัตโนมัติหากจำเป็น
คุณยังสามารถติดตั้งส่วนประกอบด้วยคำสั่งต่อไปนี้ ตัวอย่างเช่น ในการติดตั้งบทบาทเซิร์ฟเวอร์ SMTP:
Get-WindowsFeature -Name SMTP-Server | Install-WindowsFeature
จะปรับใช้บทบาทบนเซิร์ฟเวอร์ Windows ระยะไกลหลายเครื่องได้อย่างไร
มีตัวเลือกอื่นที่น่าสนใจเมื่อคุณปรับใช้เซิร์ฟเวอร์ทั่วไป คุณสามารถติดตั้งคุณลักษณะที่คุณต้องการบน Windows Server อ้างอิงและส่งออกรายการบทบาทที่ติดตั้งไปยังไฟล์ CSV:
Get-WindowsFeature | where{$_.Installed -eq $True} | select name | Export-Csv C:\PS\InstalledRoles.csv -NoTypeInformation –Verbose
จากนั้น คุณจะสามารถใช้ไฟล์ CSV นี้เพื่อติดตั้งชุดบทบาทเดียวกันบนเซิร์ฟเวอร์ทั่วไปอื่นๆ:
Import-Csv C:\PS\Roles.csv | foreach{ Install-WindowsFeature $_.name }
หากมีการติดตั้งบทบาทหรือคุณลักษณะแล้ว คำสั่งจะส่งคืน NoChangeNeeded และดำเนินการติดตั้งในบทบาทต่อไป
หรือหากต้องการติดตั้งชุดบทบาทเดียวกันบนเซิร์ฟเวอร์ระยะไกลหลายเครื่อง คุณสามารถใช้คำสั่งนี้:
$servers = ('ny-rds1', 'ny-rds2',’ny-rds3’,’ny-rds4’)
foreach ($server in $servers) {Install-WindowsFeature RDS-RD-Server -ComputerName $server}
จะถอนการติดตั้งบทบาทหรือคุณลักษณะบน Windows Server ด้วย PowerShell ได้อย่างไร
หากต้องการลบบทบาทหรือคุณลักษณะของ Windows Server Remove-WindowsFeature ใช้ cmdlet
ตัวอย่างเช่น หากต้องการลบบทบาทเซิร์ฟเวอร์การพิมพ์ ให้เรียกใช้คำสั่ง:
Remove-WindowsFeature Print-Server -Restart