ในบทความนี้ ฉันพยายามอธิบายคำสั่ง cmd พื้นฐานและ PowerShell ที่ใช้ในการกำหนดค่าและจัดการ Windows Server Core . ฉันคิดว่าคู่มือนี้จะเป็นประโยชน์ทั้งสำหรับผู้เริ่มต้นและผู้ดูแลระบบที่มีประสบการณ์โดยอ้างอิงถึงคำสั่งการดูแลระบบ Server Core พื้นฐาน
สารบัญ:
- กำหนดค่า Windows Server Core โดยใช้ SCONFIG
- คำสั่ง PowerShell พื้นฐานในการกำหนดค่าเซิร์ฟเวอร์คอร์
- คำสั่ง Windows Server Core ที่มีประโยชน์
ข้อดีของ Windows Server Core:
- ความต้องการทรัพยากรต่ำกว่า
- ปรับปรุงความเสถียรและความปลอดภัย จำเป็นต้องอัปเดตน้อยลง (เนื่องจากจำนวนโค้ดและส่วนประกอบที่ใช้น้อยลง)
- เหมาะอย่างยิ่งสำหรับใช้เป็นเซิร์ฟเวอร์บทบาทโครงสร้างพื้นฐาน (ตัวควบคุมโดเมน Active Directory, เซิร์ฟเวอร์ DHCP, โฮสต์ Hyper-V, เซิร์ฟเวอร์ไฟล์ SMB เป็นต้น)
Server Core ได้รับอนุญาตให้ใช้งานเป็นอินสแตนซ์ Windows Server แบบจริงหรือแบบเสมือนทั่วไป (ต่างจาก Hyper-V Server ที่ให้บริการฟรีทั้งหมด)
ในการติดตั้ง Windows Server 2016/2019 ในโหมด Core คุณต้องเลือกการติดตั้งทั่วไป หากคุณเลือก Windows Server (Desktop Experience) ระบบปฏิบัติการเวอร์ชัน GUI จะได้รับการติดตั้ง (ใน Windows Server เวอร์ชันก่อนหน้าจะเรียกว่าเซิร์ฟเวอร์ที่มี GUI)
คุณไม่สามารถสลับระหว่างโหมด Full GUI และ Core ใน Windows Server 2016/2019 โดยไม่ต้องติดตั้งเซิร์ฟเวอร์ใหม่
หลังจากติดตั้ง Windows Server Core คุณจะได้รับแจ้งให้ตั้งรหัสผ่านผู้ดูแลระบบภายในเครื่อง
เมื่อคุณล็อกออนเข้าสู่ Server Core พร้อมท์คำสั่งจะปรากฏขึ้น (cmd.exe) หากคุณต้องการให้คอนโซล PowerShell ทำงานแทน ให้ทำการเปลี่ยนแปลงบางอย่างในรีจิสทรี รันคำสั่งด้านล่าง:
Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -ชื่อเชลล์ -ค่า 'PowerShell.exe'
และรีสตาร์ทเซิร์ฟเวอร์ของคุณ:
รีสตาร์ท-คอมพิวเตอร์ -บังคับ
หากคุณปิดหน้าต่างพรอมต์คำสั่งโดยไม่ได้ตั้งใจ ให้กด
Ctrl+Alt+Delete
ให้เปิด Task Manager -> File -> Run -> และเรียกใช้ cmd.exe
(หรือ PowerShell.exe
). กำหนดค่า Windows Server Core โดยใช้ SCONFIG
คุณสามารถใช้ sconfig . ในตัว สคริปต์สำหรับการกำหนดค่าเซิร์ฟเวอร์หลักพื้นฐาน เพียงเรียกใช้ sconfig
คำสั่งในคอนโซลของคุณ คุณจะเห็นเมนูที่มีหลายรายการ:
เมื่อใช้เมนูการกำหนดค่าเซิร์ฟเวอร์ คุณสามารถทำสิ่งต่อไปนี้:
- เพิ่มคอมพิวเตอร์ในโดเมนหรือเวิร์กกรุ๊ป
- เปลี่ยนชื่อคอมพิวเตอร์ (ชื่อโฮสต์)
- เพิ่มผู้ดูแลระบบในพื้นที่
- อนุญาต/ปฏิเสธการจัดการระยะไกลและการตอบสนองของ ICMP
- กำหนดการตั้งค่า Windows Update
- ติดตั้งการอัปเดต Windows
- เปิด/ปิด RDP
- กำหนดการตั้งค่าอะแดปเตอร์เครือข่าย (ที่อยู่ IP, เกตเวย์, เซิร์ฟเวอร์ DNS)
- ตั้งวันที่และเวลา
- เปลี่ยนการตั้งค่าการส่งข้อมูลทางไกล
- เปิดใช้งานอินสแตนซ์ Windows Server ของคุณ
- ออกจากระบบ รีสตาร์ท หรือปิดเซิร์ฟเวอร์ของคุณ
แต่ละรายการใน sconfig
มีหมายเลขของมัน หากต้องการเปิดรายการที่ต้องการ เพียงพิมพ์ หมายเลข
แล้วกด Enter
.
รายการเมนู sconfig บางรายการมีรายการย่อย คุณต้องป้อนหมายเลขด้วยเพื่อไปที่การตั้งค่า
เราจะไม่อธิบายการตั้งค่า sconfig ทั้งหมด เนื่องจากมีความเข้าใจง่าย อย่างไรก็ตาม ในกรณีส่วนใหญ่ ผู้ดูแลระบบต้องการใช้สคริปต์ PowerShell ต่างๆ เพื่อกำหนดค่าโฮสต์ใหม่ที่ใช้ Server Core ง่ายกว่าและเร็วกว่า โดยเฉพาะอย่างยิ่งในสถานการณ์การปรับใช้จำนวนมาก
คำสั่ง PowerShell พื้นฐานเพื่อกำหนดค่าเซิร์ฟเวอร์คอร์
มาดูคำสั่งพื้นฐานของ PowerShell ที่สามารถใช้กำหนดค่า Server Core ได้
วิธีรับข้อมูลเกี่ยวกับบิลด์ Windows Server และเวอร์ชัน PowerShell:
รับข้อมูลคอมพิวเตอร์ | เลือก WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable
ในการรีสตาร์ท Server Core ให้เรียกใช้คำสั่ง PowerShell นี้:
รีสตาร์ท-คอมพิวเตอร์
หากต้องการออกจากคอนโซล Server Core ให้ใช้คำสั่งด้านล่าง:
ออกจากระบบ
กำหนดการตั้งค่าเครือข่ายบนเซิร์ฟเวอร์คอร์ด้วย PowerShell
ตอนนี้ คุณต้องกำหนดการตั้งค่าเครือข่ายโดยใช้ PowerShell (โดยค่าเริ่มต้น Windows จะได้รับการกำหนดค่าให้รับที่อยู่ IP จาก DHCP) แสดงรายการอะแดปเตอร์เครือข่าย:
รับ-NetIPConfiguration
ระบุดัชนีของอินเทอร์เฟซอะแดปเตอร์เครือข่ายของคุณ (InterfaceIndex
) คุณต้องการเปลี่ยนแปลงและตั้งค่าที่อยู่ IP และเซิร์ฟเวอร์ DNS ใหม่:
ใหม่-NetIPaddress -InterfaceIndex 4 -IPAddress 192.168.1.100 -PrefixLength 24 -DefaultGateway 192.168.1.1
Set-DNSClientServerAddress –InterfaceIndex 4 -ServerAddresses 192.168.1.11,192.168.101.11
ตรวจสอบการตั้งค่าเครือข่ายปัจจุบัน:
รับ-NetIPConfiguration
Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp เปิดใช้งานแล้ว
ในการเปิด/ปิดอะแดปเตอร์เครือข่าย:
ปิดการใช้งาน-NetAdapter -ชื่อ “Ethernet0”
Enable-NetAdapter -ชื่อ “Ethernet 0”
วิธีเปิดใช้งาน ปิดใช้งาน หรือตรวจสอบสถานะการรองรับ IPv6 สำหรับอะแดปเตอร์เครือข่ายของคุณ:
ปิดการใช้งาน-NetAdapterBinding -ชื่อ "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -ชื่อ "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
ในการกำหนดค่าพร็อกซีเซิร์ฟเวอร์ winhttp สำหรับ PowerShell หรือการเชื่อมต่อระบบ:
netsh Winhttp ตั้งค่าพร็อกซี <ชื่อเซิร์ฟเวอร์>:<หมายเลขพอร์ต>
ตั้งค่าวันที่/เวลาอย่างไร
คุณสามารถกำหนดวันที่ เวลา หรือเขตเวลาโดยใช้เครื่องมือกราฟิก intl.cpl
หรือ PowerShell:
Set-Date -Date "07/21/2021 09:00"
Set-TimeZone "เวลามาตรฐานของยุโรปกลาง”
ตั้งชื่อคอมพิวเตอร์ เข้าร่วมโดเมน และเปิดใช้งานเซิร์ฟเวอร์คอร์
วิธีเปลี่ยนชื่อคอมพิวเตอร์ (hostname):
เปลี่ยนชื่อ-คอมพิวเตอร์ -NewName be-srv01 -PassThru
ในการเพิ่มเซิร์ฟเวอร์ในโดเมน Active Directory ภายในองค์กรของคุณ:
เพิ่ม-คอมพิวเตอร์ -DomainName "corp.woshub.com" -รีสตาร์ท
ถ้าคุณต้องการเพิ่มผู้ใช้เพิ่มเติมในกลุ่มผู้ดูแลระบบภายใน คุณสามารถกำหนดค่านโยบายกลุ่มหรือเพิ่มด้วยตนเอง:
เพิ่ม-LocalGroupMember -กลุ่ม "ผู้ดูแลระบบ" -สมาชิก "corp\jsmith"
ในการเปิดใช้งาน Windows Server ให้ป้อนรหัสผลิตภัณฑ์ของคุณ:
slmgr.vbs –ipk
slmgr.vbs –ato
หรือคุณอาจเปิดใช้งานโฮสต์ของคุณบนเซิร์ฟเวอร์ KMS ตัวอย่างเช่น ในการเปิดใช้งาน Windows Server Core 2019 Standart บนโฮสต์ KMS:
slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms.corp.woshub.com:1688
slmgr /ato
การเปิดใช้งานการดูแลระบบระยะไกลของ Windows Server Core
วิธีอนุญาตการเข้าถึงเซิร์ฟเวอร์คอร์จากระยะไกลผ่าน RDP:
cscript C:\Windows\System32\Scregedit.wsf /ar 0
วิธีอนุญาตการจัดการจากระยะไกล:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Configure-SMRemoting.exe -Get
ในการอนุญาต Win-RM สำหรับ PowerShell Remoting:
เปิดใช้งาน-PSRemoting –force
การกำหนดค่า Windows Firewall บน Server Core
คุณสามารถค้นหาข้อมูลเกี่ยวกับวิธีการกำหนดค่าไฟร์วอลล์ Windows Defender ด้วย PowerShell ได้ในบทความนี้ ฉันจะแสดงคำสั่งพื้นฐานที่นี่
วิธีเปิดใช้งานไฟร์วอลล์ Windows Defender สำหรับโปรไฟล์ทั้งหมด:
Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
ในการเปลี่ยนประเภทเครือข่ายของคุณจากสาธารณะเป็นส่วนตัว:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory ส่วนตัว
ในการปิดการใช้งาน Windows Firewall โดยสมบูรณ์ (ไม่แนะนำ):
Get-NetFirewallProfile | Set-NetFirewallProfile - เปิดใช้งานเท็จ
ในการอนุญาตการเชื่อมต่อโดยใช้เครื่องมือการจัดการระยะไกล:
Enable-NetFireWallRule -ชื่อที่แสดง “Windows Management Instrumentation (DCOM-In)”
Enable-NetFireWallRule -DisplayGroup “Remote Event Log Management”
Enable-NetFireWallRule -DisplayGroup “Remote Service Management”
Enable-NetFireWallRule -DisplayGroup “Remote Volume Management”
Enable-NetFireWallRule -DisplayGroup “Remote Scheduled Tasks Management”
Enable-NetFireWallRule -DisplayGroup “Windows Firewall Remote Management”
Enable-NetFirewallRule -DisplayGroup "การดูแลระบบระยะไกล"
จะติดตั้งการอัปเดตบน Windows Server Core ได้อย่างไร
ในการจัดการตัวเลือกการอัปเดต ควรใช้นโยบายกลุ่มของ Windows Update อย่างไรก็ตาม คุณสามารถตั้งค่าการอัปเดตได้ด้วยตนเอง
วิธีปิดใช้งานการอัปเดตอัตโนมัติ:Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1
ในการดาวน์โหลดการอัปเดตที่มีให้โดยอัตโนมัติ:Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3
หากต้องการรับรายการอัปเดตที่ติดตั้ง:Get-Hotfix
หรือรายการ wmic qfe
ในการติดตั้งการอัปเดต Windows ด้วยตนเอง คุณสามารถใช้ wusa
เครื่องมือ:wusa kbnamexxxxx.msu /quiet
ในการติดตั้งและจัดการการอัปเดตจากพรอมต์คำสั่ง จะสะดวกที่จะใช้โมดูล PSWindowsUpdate สำหรับ PowerShell
การจัดการบทบาทหลักของ Windows บริการ และกระบวนการ
หากต้องการรับรายการบทบาทที่มีอยู่ทั้งหมดบน Windows Server Core ให้เรียกใช้คำสั่ง PowerShell ต่อไปนี้:
Get-WindowsFeature
หากต้องการรับรายการบทบาทและคุณลักษณะที่ติดตั้งทั้งหมดใน Windows Server (ดังนั้น คุณจึงเข้าใจได้อย่างรวดเร็วว่าเซิร์ฟเวอร์ใช้ทำอะไร):
Get-WindowsFeature | Where-Object {$_. installstate -eq "ติดตั้งแล้ว"} | ft Name,Installstate
ตัวอย่างเช่น ในการติดตั้งบทบาท DNS ให้รันคำสั่งนี้:
ติดตั้ง-WindowsFeature DNS -IncludeManagementTools
ในการรับรายการบริการทั้งหมดใน Windows:
รับบริการ
หากต้องการดูบริการที่หยุดทั้งหมด:
รับบริการ | Where-Object {$_.status -eq “stopped”}
ในการเริ่มบริการใหม่:
เริ่มบริการใหม่ - ตัวจัดคิวชื่อ
ในการจัดการกระบวนการ คุณสามารถใช้ Task Manager (taskmgr.exe) หรือโมดูล PowerShell Processes:
รับการประมวลผล cmd, wuaucl* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft
คำสั่ง Windows Server Core ที่มีประโยชน์
สุดท้ายนี้ ฉันจะแสดงคำสั่งและสคริปต์ PowerShell ที่มีประโยชน์ซึ่งฉันมักใช้จัดการเซิร์ฟเวอร์คอร์
ข้อมูลเกี่ยวกับสถานะและความสมบูรณ์ของฟิสิคัลดิสก์ (ใช้โมดูลการจัดการดิสก์สตอเรจเริ่มต้น):
รับ-PhysicalDisk | เรียงขนาด | FT FriendlyName, ขนาด, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
ข้อมูลพื้นที่ว่างในดิสก์:
Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @{Label='FreeSpace (Gb)'; expression={($_.FreeSpace/1GB).ToString('F2')}},
@{Label='Total (Gb)'; expression={($_.Size/1GB).ToString('F2')}},
@{label='FreePercent'; expression={[Math]::Round(($_.freespace / $_.size) * 100, 2)}}|ft
ข้อมูลเกี่ยวกับการรีบูตเซิร์ฟเวอร์ 10 ครั้งล่าสุด:
ระบบ Get-EventLog | where-object {$_.eventid -eq 6006} | เลือก -สุดท้าย 10
รายการโปรแกรมที่ติดตั้ง:
รับ-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | รูปแบบ-ตาราง –ขนาดอัตโนมัติ
ในการดาวน์โหลดและแตกไฟล์ ZIP จากเว็บไซต์ภายนอก:
เรียก-WebRequest https://servername/file.zip -outfile file.zip
Expand-Archive -path '.\file.zip' -DestinationPath C:\Users\Administrator\Documents\
ในการคัดลอกไฟล์ทั้งหมดจากไดเร็กทอรีไปยังคอมพิวเตอร์ระยะไกลผ่านเครือข่าย คุณสามารถใช้คำสั่ง Copy-Item cmdlet:
$session =ใหม่-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs" -Recurse -Forceรหัส>
วิธีติดตั้งไดรเวอร์อุปกรณ์:
Pnputil –i –a c:\install\hpspp\hpdp.inf
Microsoft ยังเสนอแพ็คเกจพิเศษ คุณสมบัติความเข้ากันได้ของแอปเซิร์ฟเวอร์หลักแบบออนดีมานด์ (FOD) ซึ่งช่วยให้คุณติดตั้งเครื่องมือกราฟิกและสแน็ปอินบน Windows Core Server 2019 (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE) คุณสามารถดาวน์โหลด FOD เป็นไฟล์ ISO ได้หากการสมัครใช้งาน Microsoft ของคุณเปิดใช้งานอยู่ คุณสามารถติดตั้งได้ดังนี้:
Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0
การติดตั้งฟีเจอร์ความเข้ากันได้ของแอป Server Core แบบออนดีมานด์จะใช้ RAM เพิ่มเติมประมาณ 200 MB บน Server Core ของคุณ
ในบทความนี้ ฉันพยายามรวบรวมคำสั่งที่มีประโยชน์ที่สุดที่จำเป็นสำหรับการดูแล Windows Server Core ในบางครั้ง ฉันจะอัปเดตบทความและเพิ่มคำสั่งใหม่หากจำเป็นสำหรับงานประจำวัน