Cách bật WMI qua Windows Firewall (cho quản trị từ xa & VAMT)

WMI (Windows Management Instrumentation) là dịch vụ có sẵn trong Windows cho phép các công cụ quản trị đọc và thay đổi thông tin máy từ xa — ví dụ VAMT.

Cần phân biệt rõ: bản thân dịch vụ WMI (Winmgmt) đã bật sẵn (khởi động Automatic, chạy từ lúc boot) trên mọi Windows — bạn không phải “bật service”, và cục bộ WMI luôn hoạt động. Thứ bị chặn mặc định là truy cập TỪ XA: Windows Firewall khoá các cổng WMI/DCOM, cộng thêm yêu cầu về quyền. Vì thế công cụ như VAMT hay báo lỗi “Unable to connect to the WMI service on the remote…” dù service ở máy đích vẫn đang chạy.

Kiểm tra service WMI có chạy không

Tên dịch vụ của WMI là Winmgmt. Kiểm tra bằng cách mở PowerShell as administrator và chạy lệnh:

Get-Service Winmgmt | Select-Object Name, Status, StartType
PS C:\> Get-Service Winmgmt | Select-Object Name, Status, StartType

Name     Status StartType
----     ------ ---------
Winmgmt Running Automatic

Mong đợi Status = RunningStartType = Automatic

Nếu (hiếm khi) service bị dừng, bật lại và đặt tự khởi động:

Start-Service Winmgmt
Set-Service  Winmgmt -StartupType Automatic

Ghi nhớ

Vì Winmgmt gần như luôn chạy sẵn, nếu kết nối từ xa vẫn lỗi thì thủ phạm thường là Firewall hoặc quyền (các mục dưới) — không phải service.

Mở ở đâu?

Mở WMI trên máy đích (máy bị quản lý), không phải máy chạy công cụ. WMI đi qua DCOM (cổng TCP 135) cùng một dải cổng động; rule Windows Management Instrumentation (WMI) của Firewall đã gộp sẵn các cổng cần thiết nên chỉ cần bật nhóm rule này.

Bật WMI trên một máy

Mở PowerShell với quyền Administrator trên máy đích rồi chạy:

Enable-NetFirewallRule -DisplayGroup "Windows Management Instrumentation (WMI)"

Lệnh này bật toàn bộ rule inbound trong nhóm WMI. Kiểm tra lại trạng thái:

Get-NetFirewallRule -DisplayGroup "Windows Management Instrumentation (WMI)" | Select-Object DisplayName, Enabled, Profile
PowerShell: Enable-NetFirewallRule mở nhóm WMI (các rule WMI-In/DCOM-In Enabled) và Get-Service Winmgmt Running Automatic

Bật WMI hàng loạt cho cả domain (Group Policy)

Trong môi trường domain, thay vì mở tay từng máy, dùng Group Policy để bật WMI cho mọi máy trong một OU:

  1. Trên DC (hoặc máy có RSAT), mở Group Policy Management → tạo/chỉnh một GPO gán vào OU chứa các máy cần quản lý.
  1. Vào Computer Configuration → Policies → Windows Settings → Security Settings → Windows Defender Firewall with Advanced Security → Inbound Rules.
  1. Chuột phải → New Rule → chọn Predefined: Windows Management Instrumentation (WMI)Next.
  1. Giữ các rule WMI được đề xuất → NextAllow the connectionFinish.
  1. Đợi máy client áp GPO, hoặc chạy gpupdate /force trên máy đó cho nhanh.

Mẹo

GPO là cách đúng cho domain: mở một lần, áp cho tất cả máy trong OU, máy mới join cũng tự nhận — không phải đụng tay từng máy.

Kiểm tra WMI đã mở chưa

# 1) Cổng DCOM 135 có thông không:
Test-NetConnection -ComputerName TENMAY -Port 135

# 2) Truy vấn WMI qua DCOM — Get-WmiObject LUÔN dùng DCOM:
Get-WmiObject -ComputerName TENMAY -Class Win32_OperatingSystem
PS C:\> Test-NetConnection -ComputerName DESKTOP-FD995RJ -Port 135

ComputerName     : DESKTOP-FD995RJ
RemoteAddress    : 192.168.1.166
RemotePort       : 135
InterfaceAlias   : Ethernet0
SourceAddress    : 192.168.1.196
TcpTestSucceeded : True

Trả về thông tin hệ điều hành (hoặc TcpTestSucceeded: True) nghĩa là WMI/DCOM đã thông.

PS C:\> Get-WmiObject -ComputerName DESKTOP-FD995RJ -Class Win32_OperatingSystem

SystemDirectory : C:\WINDOWS\system32
Organization    :
BuildNumber     : 26200
RegisteredUser  :
SerialNumber    : 00331-10000-00001-AA041
Version         : 10.0.26200

Khắc phục lỗi thường gặp

Unable to connect to the WMI service on the remote…

Firewall trên máy đích chưa mở WMI, hoặc máy đang tắt / không truy cập được / sai tên. Mở WMI theo các cách ở trên rồi thử lại; kiểm tra máy có ping/phân giải tên được không.

Access is denied (0x80070005)

Tài khoản đang dùng không có quyền admin trên máy đích. Dùng tài khoản domain administrator hoặc local admin của máy đó. Nếu máy ở Workgroup và bạn dùng một tài khoản local admin (không phải Administrator tích hợp), cơ chế UAC Remote Restrictions sẽ lọc token — bật khoá registry sau trên máy đích rồi thử lại:

The RPC server is unavailable (0x800706BA)

Cổng 135/DCOM bị chặn hoặc máy không truy cập được. Kiểm tra kết nối mạng, firewall (kể cả firewall của phần mềm khác), và dịch vụ Remote Procedure Call (RPC) đang chạy trên máy đích.

Nguồn tham khảo

Tài liệu Microsoft Learn: Connecting to WMI Remotely.

Bình luận

Trường bắt buộc được đánh dấu *