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 để định cấu hình và quản lý Windows Server Core . Tôi nghĩ rằng 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 về các lệnh quản trị Server Core cơ bản.
Nội dung:
- Định cấu hình Windows Server Core bằng SCONFIG
- Các lệnh PowerShell cơ bản để định cấu hình lõi máy chủ
- Các lệnh cốt lõi hữu ích của Windows Server
Ưu điểm của Windows Server Core:
- Yêu cầu tài nguyên thấp hơn;
- Cải thiện tính ổn định và bảo mật; yêu cầu ít cập nhật hơn (do số lượng mã và các thành phần được sử dụng ít hơn);
- Phù hợp 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, máy chủ Hyper-V, máy chủ tệp SMB, v.v.).
Server Core được cấp phép như một phiên bản Windows Server ảo hoặc vật lý chung (không giống như 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 một cài đặt thông thường. Nếu bạn chọn Máy chủ Windows (Trải nghiệm Máy tính để bàn) , 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à Máy chủ có GUI).
Bạn không thể chuyển đổi giữa các chế độ Full GUI và Core 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 quản trị viên cục bộ.
Khi bạn đăng nhập vào Server Core, dấu nhắc lệnh sẽ xuất hiện (cmd.exe). Nếu bạn muốn bảng điều khiển PowerShell được chạy thay vì bảng điều khiển, hãy thực hiện một số thay đổi đối với sổ đăng ký. Chạy các lệnh bên dưới:
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:
Khởi động lại-Máy tính -Force
Nếu bạn vô tình đóng cửa sổ nhắc lệnh, hãy nhấn
Ctrl + Alt + Delete
, mở Trình quản lý tác vụ -> Tệp -> Chạy -> và chạy cmd.exe
(hoặc PowerShell.exe
). Định cấu hình Windows Server Core bằng SCONFIG
Bạn có thể sử dụng sconfig tích hợp sẵn tập lệnh cho cấu hình Server Core cơ bản. Chỉ cần chạy sconfig
lệnh trong bảng điều khiển của bạn. Bạn sẽ thấy một menu có một số mục:
Sử dụng menu Cấu hình máy chủ, bạn có thể thực hiện những việc sau:
- Thêm máy tính vào miền hoặc nhóm làm việc
- Thay đổi tên máy tính (tên máy chủ)
- Thêm quản trị viên địa phương
- Cho phép / từ chối quản lý từ xa và phản hồi ICMP
- Định cấu hình cài đặt Windows Update
- Cài đặt các bản cập nhật Windows
- Bật / tắt RDP
- Định cấu hình cài đặt bộ điều hợp mạng (địa chỉ IP, cổng, máy chủ DNS)
- Đặt ngày và giờ
- Thay đổi cài đặt đo từ xa
- Kích hoạt phiên bản Windows Server của bạn
- Đăng xuất, khởi động lại hoặc tắt máy chủ của bạn
Mỗi mục trong sconfig
có số của nó. Để mở mục bạn muốn, chỉ cần nhập số
của nó và nhấn Enter
.
Một số mục menu sconfig có các subitem. Để đế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ác cài đặt sconfig, vì chúng rất 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 tập lệnh PowerShell khác nhau để định cấu hình các máy chủ mới chạy Server Core. Nó dễ dàng hơn và nhanh hơn, đặc biệt là trong các kịch bản triển khai hàng loạt.
Lệnh PowerShell cơ bản để định cấu hình lõi máy chủ
Hãy xem các lệnh PowerShell cơ bản có thể được sử dụng để định cấu hình Server Core.
Để nhận thông tin về phiên bản Windows Server và phiên bản PowerShell:
Get-ComputerInfo | chọn WindowsProductName, WindowsVersion, OsHardwareAbstractionLayer
$ PSVersionTable
Để khởi động lại Server Core, hãy chạy lệnh PowerShell sau:
Khởi động lại máy tính
Để đăng xuất khỏi bảng điều khiển Server Core của bạn, hãy sử dụng lệnh bên dưới:
đăng xuất
Định cấu hình cài đặt mạng trên lõi máy chủ bằng PowerShell
Bây giờ bạn cần định cấu hình cài đặt mạng bằng PowerShell (theo mặc định, Windows được cấu hình để nhận địa chỉ IP từ DHCP). Hiển thị danh sách các bộ điều hợp mạng:
Get-NetIPConfiguration
Chỉ định một chỉ mục của giao diện bộ điều hợp mạng của bạn ( 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
Set-DnsClientServerAddress –InterfaceIndex 4 –ResetServerAddresses
Set-NetIPInterface –InterfaceIndex 4 -Dhcp Enabled
Để bật / tắt bộ điều hợp mạng:
Disable-NetAdapter -Tên “Ethernet0”
Enable-NetAdapter -Tên “Ethernet 0”
Để bật, tắt hoặc kiểm tra trạng thái hỗ trợ IPv6 cho bộ điều hợp mạng của bạn:
Disable-NetAdapterBinding -Tên "Ethernet0" -ComponentID ms_tcpip6
Enable-NetAdapterBinding -Tên "Ethernet0" -ComponentID ms_tcpip6
Get-NetAdapterBinding -ComponentID ms_tcpip6
Để định cấu hình máy chủ proxy winhttp cho PowerShell hoặc các kết nối hệ thống:
netsh Winhttp đặt proxy
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 "21/07/2021 09:00"
Set-TimeZone "Giờ chuẩn Trung Âu"
Đặt tên máy tính, tham gia miền và kích hoạt lõi máy chủ
Để thay đổi tên máy tính (tên máy chủ):
Đổi tên-Máy tính -Tên mới 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" -Khởi động lại
Nếu bạn muốn thêm người dùng bổ sung vào nhóm quản trị viên cục bộ, bạn có thể định cấu hình Chính sách nhóm hoặc thêm họ theo cách thủ công:
Add-LocalGroupMember -Nhóm "Quản trị viên" -Nhóm "corp \ jsmith"
Để kích hoạt Windows Server, hãy nhập khóa sản phẩm của bạn:
slmgr.vbs –ipk
slmgr.vbs –ato
Hoặc bạn có thể kích hoạt máy chủ của mình trên máy chủ KMS. Ví dụ:để kích hoạt Windows Server Core 2019 Standart trên máy chủ KMS:
slmgr / ipk N69G4-B89J2-4G8F4-WWYCC-J464C
slmgr / skms kms.corp.woshub.com:1688
slmgr / ato
Bật quản trị từ xa Windows Server Core
Để cho phép truy cập từ xa vào Server Core qua RDP:
cscript C:\ Windows \ System32 \ Scregedit.wsf / ar 0
Để cho phép quản lý từ xa:
Configure-SMRemoting.exe –Enable
Enable-NetFirewallRule -DisplayGroup “Windows Remote Management”
Configure-SMRemoting.exe -Get
Để cho phép Win-RM cho PowerShell Remoting:
Enable-PSRemoting –force
Định cấu hình Tường lửa của Windows trên Server Core
Bạn có thể tìm thông tin về cách định cấu hình Tường lửa của Bộ bảo vệ Windows 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 Tường lửa của Bộ bảo vệ Windows cho tất cả các cấu hình:
Set-NetFirewallProfile -Profile Domain, Public, Private -Enabled True
Để thay đổi loại mạng của bạn từ Công khai sang Riêng tư:
Get-NetConnectionProfile | Set-NetConnectionProfile -NetworkCategory Private
Để tắt hoàn toàn Tường lửa của Windows (không được khuyến nghị):
Get-NetFirewallProfile | Set-NetFirewallProfile -enabled false
Để cho phép kết nối bằng các công cụ quản lý 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 “Quản lý âm lượng từ xa”
Enable-NetFireWallRule -DisplayGroup “Quản lý tác vụ được lên lịch từ xa”
Enable-NetFireWallRule -DisplayGroup “Quản lý từ xa tường lửa của Windows”
Enable-NetFirewallRule -DisplayGroup "Quản trị Từ xa"
Cách cài đặt bản cập nhật trên Windows Server Core?
Để quản lý các tùy chọn cập nhật, tốt hơn nên sử dụng Chính sách nhóm của Windows Update. Tuy nhiên, bạn có thể đặt cài đặt cập nhật theo cách thủ công.
Để tắt cập nhật tự động:
Set-ItemProperty -Path HKLM:\ Software \ Policies \ Microsoft \ Windows \ WindowsUpdate \ AU -Tên 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 -Tên AUOptions -Value 3
Để nhận danh sách các bản cập nhật đã cài đặt:
Get-Hotfix
Hoặc
wmic qfe list
Để cài đặt các bản cập nhật Windows theo cách thủ công, bạn có thể sử dụng wusa
công cụ:
wusa kbnamexxxxx.msu / yên lặng
Để cài đặt và quản lý các bản cập nhật từ dấu nhắc lệnh, thật tiện lợi khi sử dụng mô-đun PSWindowsUpdate cho PowerShell.
Quản lý Vai trò, Dịch vụ và Quy trình cốt lõi của Windows
Để nhận 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
Để nhận 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 sử dụng để làm gì):
Get-WindowsFeature | Đối tượng ở đâu {$ _. installstate -eq "đã cài đặt"} | ft Name, Installstate
Ví dụ:để cài đặt vai trò DNS, hãy chạy lệnh sau:
Install-WindowsFeature DNS -IncludeManagementTools
Để nhận danh sách tất cả các dịch vụ trong Windows:
Nhận dịch vụ
Để xem tất cả các dịch vụ đã dừng:
Nhận dịch vụ | Nơi-Đối tượng {$ _. Status -eq “stop”}
Để khởi động lại một dịch vụ:
Khởi động lại-Dịch vụ -Bộ đệm tên
Để quản lý các quy trình, bạn có thể sử dụng Trình quản lý Tác vụ (taskmgr.exe) hoặc mô-đun PowerShell Processes:
Get-Process cmd, wuaucl * | Select-Object ProcessName, StartTime, MainWindowTitle, Path, Company | ft
Các lệnh hữu ích của Windows Server Core
Cuối cùng, tôi sẽ chỉ ra một số lệnh và tập lệnh 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ý (mô-đun quản lý đĩa Lưu trữ mặc định được sử dụng):
Get-PhysicalDisk | Sắp xếp Kích thước | FT FriendlyName, Size, MediaType, SpindleSpeed, HealthStatus, OperationalStatus -AutoSize
Thông tin về dung lượng đĩa trống:
Get-WmiObject -Class Win32_LogicalDisk |
Select-Object -Property DeviceID, VolumeName, @ {Label ='FreeSpace (Gb)'; biểu thức ={($ _. FreeSpace / 1GB) .ToString ('F2')}},
@ {Label ='Total (Gb)'; biểu thức ={($ _. Size / 1GB) .ToString ('F2')}},
@ {label ='FreePercent'; biểu thức ={[Math] ::Round (($ _. freespace / $ _. size) * 100, 2)}} | ft
Thông tin về 10 lần khởi động lại máy chủ gần đây nhất của bạn:
Hệ thống Get-EventLog | where-object {$ _. eventid -eq 6006} | chọn -last 10
Danh sách các 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 tệp ZIP từ mộ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ả các tệp từ một thư mục vào một máy tính từ xa qua mạng, bạn có thể sử dụng lệnh ghép ngắn Copy-Item:
$ session =New-PSSession -ComputerName be-dc01
Copy-Item -Path "C:\ Logs \ *" -ToSession $ session -Destination "C:\ Logs \" -Recurse -Force
Để cài đặt trình điều khiển thiết bị:
Pnputil –i –a c:\ install \ hpspp \ hpdp.inf
Microsoft cũng cung cấp một gói đặc biệt, Tính năng tương thích ứng dụng lõi máy chủ theo yêu cầu (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 xuống FOD dưới dạng tệp ISO nếu đăng ký Microsoft của bạn đang hoạt động. Bạn có thể cài đặt nó như sau:
Add-WindowsCapability -Online -Tên ServerCore.AppCompatibility ~~~~ 0.0.1.0
Tính năng tương thích ứng dụng lõi của máy chủ khi cài đặt theo yêu cầu sẽ sử dụng thêm khoảng 200 MB RAM trên lõi máy chủ 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. Thỉnh thoảng, 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.