Bài viết liên quan: https://votinhthuong.com/knowledgebase/kiem-tra-trang-thai-va-bat-remote-registry-services-bat-ky-o-may-nguoi-dung/
Để kiểm tra giá trị của khóa (Key) trong Registry bất kỳ một vài máy từ xa – mà cụ thể ở bài viết này là khóa USBTOR để xem thử cổng USB ở máy đó đang được khóa hay mở, ta có thể làm theo bài viết ở liên kết trên. Nhưng nếu ở quy mô hàng loạt máy người dùng lên đến số lượng hàng trăm, hàng nghìn, ta cần một cách tự động và nhanh chóng hơn nhiều như thế.
Ý tưởng chính để thực hiện là thông qua dịch của Windows có tên Windows Remote Management (WS-Management) – viết tắt trong câu lệnh là “WinRM” hoặc “winrm“, ta kích hoạt lên từ xa cho hàng loạt máy tính người dùng. Để làm được như vậy, ta dùng chương trình PSEXEC trong bộ PSTools của Microsoft phát triển và cung cấp miễn phí.
Tiếp theo, sử dụng lệnh Invoke-Command để duyệt qua loạt máy người dùng đó, truy vấn giá trị “Start” của khóa USBTOR trong HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\USBSTOR
.
Tóm tắt nhanh về giá trị Start của khóa USBSTOR trong Registry của Windows:
- Giá trị 3: Cổng USB trên máy tính được phép sử dụng.
- Giá trị 4: Cổng USB trên máy tính đang bị khóa toàn bộ.
Bước 1: Tạo danh sách tên máy tính người dùng cần kích hoạt và cho phép dịch vụ, lưu trữ trong 1 file *.txt để truy xuất.
Bước 2: Đứng ở thư mục của bộ công cụ PSTools, chạy lệnh bên dưới. Lưu ý mở PowerShell bằng quyền admin:
.\PsExec.exe @C:\temp\list-computer-users.txt -s winrm.cmd quickconfig -q
Bước 3: Chạy lệnh kiểm tra giá trị Start của khóa USBTOR:
Invoke-Command -Computer (get-content C:\temp\list-computer-users.txt) -ScriptBlock {Get-ItemProperty -Path: HKLM:SYSTEM\CurrentControlSet\Services\USBSTOR -Name Start}
Kết quả sẽ được in ra trực tiếp trên màn hình.
Bài viết tham khảo:
- https://community.spiceworks.com/topic/1977753-enabling-winrm-in-remote-computers-inc-winrm-listener-powershell
- https://theitbros.com/using-psexec-to-run-commands-remotely/
- https://stackoverflow.com/questions/39917027/winrm-cannot-complete-the-operation-verify-that-the-specified-computer-name-is
- https://community.spiceworks.com/topic/1649615-make-sure-that-the-default-admin-share-is-enabled-error-in-psexec
- https://learn.microsoft.com/en-us/answers/questions/229641/reading-registry-values-on-remote-servers-using-a
- https://stackoverflow.com/questions/65108982/powershell-the-client-cannot-connect-to-the-destination-specified-in-the-reques
VÕ TÌNH THƯƠNG