Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Các Lệnh Cơ Bản Để Cấu Hình Và Quản Lý Windows Server Core

Trong bài viết này, tôi đã cố gắng mô tả các lệnh cmd và PowerShell cơ bản được sử dụng để cấu hình và quản lý Windows Server Core. Tôi nghĩ hướng dẫn này sẽ hữu ích cho cả người mới bắt đầu và quản trị viên hệ thống có kinh nghiệm như một tài liệu tham khảo cho các lệnh quản trị Server Core cơ bản.

Server Core là một chế độ cài đặt Windows Server đặc biệt không có hầu hết các công cụ đồ họa và snap-in. Bạn có thể quản lý Server Core từ dấu nhắc lệnh hoặc từ xa (sử dụng Windows Admin Center hoặc các công cụ khác).

Ưu điểm của Windows Server Core:

  • Yêu cầu tài nguyên thấp hơn;
  • Cải thiện độ ổn định và bảo mật; ít bản cập nhật hơn được yêu cầu (do ít mã và thành phần được sử dụng hơn);
  • Lý tưởng để sử dụng làm máy chủ vai trò cơ sở hạ tầng (bộ điều khiển miền Active Directory, máy chủ DHCP, host Hyper-V, máy chủ file SMB, v.v.).

Server Core được cấp phép như một instance Windows Server vật lý hoặc ảo thông thường (khác với Hyper-V Server hoàn toàn miễn phí).

Để cài đặt Windows Server 2016/2019 ở chế độ Core, bạn phải chọn cài đặt điển hình. Nếu bạn chọn Windows Server (Desktop Experience), phiên bản GUI của hệ điều hành sẽ được cài đặt (trong các phiên bản Windows Server trước đó nó được gọi là Server with a GUI).

Bạn không thể chuyển đổi giữa Full GUI và Core mode trong Windows Server 2016/2019 mà không cần cài đặt lại máy chủ.

Sau khi cài đặt Windows Server Core, bạn sẽ được nhắc đặt mật khẩu administrator cục bộ.

Khi bạn đăng nhập vào Server Core, dấu nhắc lệnh xuất hiện (cmd.exe). Nếu bạn muốn console PowerShell được chạy thay vì nó, hãy thực hiện một số thay đổi trong registry. Chạy các lệnh dưới đây:

Powershell.exe
Set-ItemProperty -Path 'HKLM:\Software\Microsoft\Windows NT\CurrentVersion\WinLogon' -Name Shell -Value 'PowerShell.exe'

Và khởi động lại máy chủ của bạn:

Restart-Computer -Force

Nếu bạn vô tình đóng cửa sổ dấu nhắc lệnh, nhấn Ctrl+Alt+Delete, mở Task Manager -> File -> Run -> và chạy cmd.exe (hoặc PowerShell.exe).

Cấu Hình Windows Server Core Sử Dụng SCONFIG

Bạn có thể sử dụng script tích hợp sconfig cho cấu hình Server Core cơ bản. Chỉ cần chạy lệnh sconfig trong console của bạn. Bạn sẽ thấy một menu với một số mục:

Sử dụng menu Server Configuration, bạn có thể thực hiện các việc sau:

  • Thêm máy tính vào miền hoặc workgroup
  • Thay đổi tên máy tính (hostname)
  • Thêm administrator cục bộ
  • Cho phép/từ chối quản trị từ xa và phản hồi ICMP
  • Cấu hình cài đặt Windows Update
  • Cài đặt bản cập nhật Windows
  • Bật/tắt RDP
  • Cấu hình cài đặt card mạng (địa chỉ IP, gateway, máy chủ DNS)
  • Đặt ngày và giờ
  • Thay đổi cài đặt telemetry
  • Kích hoạt instance Windows Server của bạn
  • Đăng xuất, khởi động lại hoặc tắt máy chủ

Mỗi mục trong sconfig có số của nó. Để mở mục bạn muốn, chỉ需 nhập number của nó và nhấn Enter.

Một số mục menu sconfig có các mục con. Để đến một cài đặt, bạn cũng cần nhập số của nó.

Chúng tôi sẽ không mô tả tất cả cài đặt sconfig, vì chúng dễ hiểu. Tuy nhiên, trong hầu hết các trường hợp, quản trị viên thích sử dụng các script PowerShell khác nhau để cấu hình các máy chủ mới chạy Server Core. Nó dễ dàng và nhanh hơn, đặc biệt trong các kịch bản triển khai hàng loạt.

Các Lệnh PowerShell Cơ Bản Để Cấu Hình Server Core

Hãy xem các lệnh PowerShell cơ bản có thể được sử dụng để cấu hình Server Core.

Để lấy thông tin về bản build Windows Server và phiên bản PowerShell của bạn:

Get-ComputerInfo | select WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$PSVersionTable

Để khởi động lại Server Core, hãy chạy lệnh PowerShell này:

Restart-Computer

Để đăng xuất console Server Core của bạn, sử dụng lệnh dưới đây:

logoff

Cấu Hình Cài Đặt Mạng Trên Server Core Với PowerShell

Bây giờ bạn cần cấu hình cài đặt mạng bằng PowerShell (mặc định, Windows được cấu hình để nhận địa chỉ IP từ DHCP). Hiển thị danh sách card mạng:

Get-NetIPConfiguration

Chỉ định chỉ số của giao diện card mạng (InterfaceIndex) bạn muốn thay đổi và đặt địa chỉ IP mới và máy chủ DNS:

New-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

Kiểm tra cài đặt mạng hiện tại:

Get-NetIPConfiguration

Nếu bạn muốn đặt lại địa chỉ IP và quay lại nhận địa chỉ IP từ DHCP, hãy chạy lệnh dưới đây:

Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled

Để bật/tắt card mạng:

Disable-NetAdapter -Name “Ethernet0”
Enable-NetAdapter -Name “Ethernet 0”

Để bật, tắt hoặc kiểm tra trạng thái hỗ trợ IPv6 cho card mạng của bạn:

Disable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Name "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6

Để cấu hình winhttp proxy server cho kết nối PowerShell hoặc hệ thống:

netsh Winhttp set proxy <servername>:<port number>

Cách Đặt Ngày/Giờ?

Bạn có thể đặt ngày, giờ hoặc múi giờ bằng công cụ đồ họa intl.cpl hoặc PowerShell:

Set-Date -Date "07/21/2021 09:00"
Set-TimeZone "Central Europe Standard Time”

Đặt Tên Máy Tính, Tham Gia Miền, Và Kích Hoạt Server Core

Để thay đổi tên máy tính (hostname):

Rename-Computer -NewName be-srv01 -PassThru

Để thêm máy chủ vào miền Active Directory tại chỗ của bạn:

Add-Computer -DomainName "corp.woshub.com" -Restart

Nếu bạn muốn thêm người dùng bổ sung vào nhóm administrators cục bộ, bạn có thể cấu hình Chính Sách Nhóm hoặc thêm thủ công:

Add-LocalGroupMember -Group "Administrators" -Member "corp\jsmith"

Để kích hoạt Windows Server, hãy nhập product key của bạn:

slmgr.vbs –ipk <productkey>
slmgr.vbs –ato

Hoặc bạn có thể kích hoạt máy chủ trên KMS server. Ví dụ, để kích hoạt Windows Server Core 2019 Standard trên KMS host:

slmgr /ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr /skms kms.corp.woshub.com:1688
slmgr /ato

Bật Quản Trị Từ Xa Của Windows Server Core

Để cho phép truy cập từ xa đến Server Core qua RDP:

cscript C:\Windows\System32\Scregedit.wsf /ar 0

Để cho phép quản trị từ xa:

Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”

Để hiển thị cài đặt Remote Management hiện tại:

Configure-SMRemoting.exe -Get

Để cho phép Win-RM cho PowerShell Remoting:

Enable-PSRemoting –force

Bạn có thể quản lý máy chủ chạy Windows Server Core từ xa từ máy chủ khác (sử dụng ServerManager.exe), qua trình duyệt sử dụng Windows Admin Center (WAC), từ bất kỳ trạm làm việc nào sử dụng RSAT, bạn cũng có thể kết nối với nó bằng RDP, PowerShell Remoting, hoặc SSH (phiên bản Windows hiện tại có SSH server tích hợp).

Cấu Hình Windows Firewall Trên Server Core

Bạn có thể tìm thông tin về cách cấu hình Windows Defender Firewall với PowerShell trong bài viết này. Tôi sẽ chỉ hiển thị một số lệnh cơ bản ở đây.

Để bật Windows Defender Firewall cho tất cả các profile:

Set-NetFirewallProfile -Profile Domain,Public,Private -Enabled True
Để thay đổi loại mạng từ Public sang Private:

Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private

Để vô hiệu hóa hoàn toàn Windows Firewall (không khuyến khích):

Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false

Để cho phép kết nối bằng công cụ quản trị từ xa:

Enable-NetFireWallRule -DisplayName “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 "Remote Administration"

Cách Cài Đặt Bản Cập Nhật Trên Windows Server Core?

Để quản lý tùy chọn cập nhật, tốt hơn là sử dụng Windows Update Group Policies. Tuy nhiên, bạn có thể đặt cài đặt cập nhật thủ công.

Để vô hiệu hóa cập nhật tự động:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 1
Để tự động tải xuống các bản cập nhật có sẵn:
Set-ItemProperty -Path HKLM:\Software\Policies\Microsoft\Windows\WindowsUpdate\AU -Name AUOptions -Value 3
Để lấy danh sách các bản cập nhật đã cài đặt:
Get-Hotfix
Hoặc
wmic qfe list
Để cài đặt bản cập nhật Windows thủ công, bạn có thể sử dụng công cụ wusa:
wusa kbnamexxxxx.msu /quiet

Để cài đặt và quản lý bản cập nhật từ dấu nhắc lệnh, tiện lợi là sử dụng module PSWindowsUpdate cho PowerShell.

Quản Lý Vai Trò, Dịch Vụ, Và Tiến Trình Windows Core

Để lấy danh sách tất cả các vai trò có sẵn trên Windows Server Core, hãy chạy lệnh PowerShell sau:

Get-WindowsFeature

Để lấy danh sách tất cả các vai trò và tính năng đã cài đặt trong Windows Server (do đó bạn có thể nhanh chóng hiểu máy chủ được dùng cho gì):

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

Ví dụ, để cài đặt vai trò DNS, hãy chạy lệnh này:

Install-WindowsFeature DNS -IncludeManagementTools

Để lấy danh sách tất cả các dịch vụ trong Windows:

Get-Service

Để xem tất cả các dịch vụ đã dừng:

Get-Service | Where-Object {$_.status -eq “stopped”}

Để khởi động lại một dịch vụ:

Restart-Service -Name spooler

Tìm hiểu thêm về quản lý dịch vụ với PowerShell.

Để quản lý tiến trình, bạn có thể sử dụng Task Manager (taskmgr.exe) hoặc module Processes PowerShell:

Get-Process cmd, wuaucl* | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company|ft

Các Lệnh Windows Server Core Hữu Ích

Cuối cùng, tôi sẽ chỉ một số lệnh và script PowerShell hữu ích mà tôi thường sử dụng để quản lý Server Core.

Thông tin về trạng thái và sức khỏe của ổ đĩa vật lý (module quản lý đĩa Storage mặc định được sử dụng):

Get-PhysicalDisk | Sort Size | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize

Thông tin dung lượng ổ đĩa trống:

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

Thông tin về 10 lần khởi động lại gần nhất của máy chủ của bạn:

Get-EventLog system | where-object {$_.eventid -eq 6006} | select -last 10

Danh sách chương trình đã cài đặt:

Get-ItemProperty HKLM:\Software\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\* | Select-Object DisplayName, DisplayVersion, Publisher, InstallDate | Format-Table –AutoSize

Để tải xuống và giải nén file ZIP từ trang web bên ngoài:

Invoke-WebRequest https://servername/file.zip -outfile file.zip
Expand-Archive -path '.\file.zip' -DestinationPath C:\Users\Administrator\Documents\

Để sao chép tất cả file từ thư mục sang máy tính từ xa qua mạng, bạn có thể sử dụng cmdlet Copy-Item:

$session = New-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\Logs\*" -ToSession $session -Destination "C:\Logs\" -Recurse -Force

Để cài đặt driver thiết bị:

Pnputil –i –a c:\install\hpspp\hpdp.inf

Microsoft cũng cung cấp một gói đặc biệt, Server Core App Compatibility Feature on Demand (FOD), cho phép bạn cài đặt một số công cụ đồ họa và snap-in trên Windows Core Server 2019 (MMC, Eventvwr, Hyper-V Manager, PerfMon, Resmon, Explorer.exe, Device Manager, Powershell ISE). Bạn có thể tải FOD dưới dạng file ISO nếu subscription Microsoft của bạn đang hoạt động. Bạn có thể cài đặt nó như sau:

Add-WindowsCapability -Online -Name ServerCore.AppCompatibility~~~~0.0.1.0

Cài đặt Server Core App Compatibility Feature on Demand sẽ sử dụng khoảng 200 MB RAM bổ sung trên Server Core của bạn.

Trong bài viết này, tôi đã cố gắng thu thập các lệnh hữu ích nhất cần thiết để quản trị Windows Server Core. Theo thời gian, tôi sẽ cập nhật bài viết và thêm các lệnh mới nếu chúng có vẻ cần thiết cho công việc hàng ngày.