/*auto readmore*/ /*auto readmore*/ /* an hien script*/ // an hien password /*an hien ma chuong trinh cong tru */ /*Scrollbox thanh cuon*/ /***Nhung CODE***/ /* dòng xanh dòng trắng */ /* https://cdnjs.com/libraries/prism lay thu vien, can vao ten file ma goi 1. copy link vao vi du:prism-python.min.js 2. ten ngon nua la python */ /*=== New posts ===*/ /*header slider*/ /*=== bai viet lien quan===*/ /*===tabcode===*/

BGInfo Background & Deploy To Client Via GPO

Giới thiệu:
Do nhu cầu thực tế về việc quản lý nhiều server nên khi kết nối vào chúng ta không biết là đang đăng nhập vào server nào, hoặc hướng dẫn ai đó cung cấp cho chúng ta một vài thông tin để chúng ta hỗ trợ họ. Với BGinfo giúp chúng lấy thông tin như: tên máy tính, username, địa chỉ IP, thông tin phần cứng, ...  của máy tính hiện tại ghi lên màn hình nền của Desktop mỗi khi logon. 

Mục tiêu 

Lấy các thông tin hiển thị lên màn hình như hình dưới.

Yêu cầu:
1. Download Bginfo
2. Lấy các trường thông tin: Host name, Boot time, Logon server, Logon domain, User name, System type, Default Gateway, Memory, CPU, OS system, Volumes, Free Space được định nghĩa mặc định và in lên góc trên trái của màn hình.
3. Dùng WMI query để lấy thêm các trường thông tin: Domain Name, Model Name, Model Vendor, IP Address, DNS Server và MAC Address
4. Dùng VB Script để lấy địa chỉ IPv4 của máy tính.
5. Sắp xếp các trường cần hiển thị theo ý
6. Cài đặt Bginfo vào startup cho user.
7. Deploy từ Domain Controller xuống các máy con trong môi trường domain thông qua GPO.

Thực hiện:
1. Download Bginfo tại đây

2. Lấy các trường thông tin: Host name, Boot time, Logon server, Logon domain, User name, System type, Default Gateway, Memory, CPU, OS system, Volumes, Free Space được định nghĩa mặc định và in lên góc trên trái của màn hình.

Cài đặt nơi lưu ảnh sau khi ghi thông tin; vị trí hiển thị của trường thông tin là góc trên trái, và chỉ ghi trong phạm vi là  4,2 inch như hình dưới:

Chọn các trường đã được định nghĩa sẵn trong vùng Fields -> Add -> Apply -> OK để xem kết quả, cài đặt như hình dưới:

3. Dùng WMI query để lấy thêm các trường thông tin: Domain Name, Model Name, Model Vendor, IP Address, DNS Server và MAC Address


Chọn Custom... -> New... -> WMI query -> Browse trong WMI Class chọn Win32_ComputerSystemClass Property chọn Domain -> OK -> đặt trên chổ Identifier là Domain Name (hay WMI Domain Name cho dể phân biệt) -> OK -> OK. Có thể tham khảo cài đặt như hình dưới:

Hoặc chúng ta có thể gõ trực tiếp câu query vào phần path như dưới và đặt tên chổ phần Identifier

Domain Name query:
SELECT Domain FROM Win32_ComputerSystem

Tương tự cho Model Name, Model Vendor, IP Address, DNS Server và MAC Address

Model Name:
SELECT Name FROM Win32_ComputerSystemProduct

Model Vendor:
SELECT Vendor FROM Win32_ComputerSystemProduct

IP Address:
SELECT IPAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True

DNS Server:
SELECT DNSServerSearchOrder FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True

MAC Address:
SELECT MACAddress FROM Win32_NetworkAdapterConfiguration WHERE IPEnabled=True


Noted: Với các trường IP address, DNS Server, MAC Address chúng ta phải thêm "WHERE IPEnabled=True" ở cuối câu query nếu không có một số trường hợp chúng ta nhận được kết quả có thêm chữ NULL như hình bên dưới



Kết quả cuối cùng của các trường query bằng WMI


Nhận xét: Với cách lấy IP Address bằng WMI query như hiện tại nó sẽ lấy cả IPv6 nếu IPv6 có enable trên máy tính. Để chỉ lấy IPv4 thì chúng ta có thể dùng VB Script với các query kèm thêm các điều kiện. Tham khảo mục VB Script ở mục 4.

4. Dùng VB Script để lấy địa chỉ IPv4 của máy tính.

Tạo file Bginfo.vbs với nội dung:
' Special BGInfo Script
' Only IPv4 Address v1.7
' Programmed by WindowsStar - Copyright (c) 2009-2011
' --------------------------------------------------------
strComputer = "."
On Error Resume Next
Set objWMIService = GetObject("winmgmts:" & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")
Set colSettings = objWMIService.ExecQuery ("SELECT * FROM Win32_NetworkAdapterConfiguration where IPEnabled = 'True'")
For Each objIP in colSettings
   For i=LBound(objIP.IPAddress) to UBound(objIP.IPAddress)
      If InStr(objIP.IPAddress(i),":") = 0 Then Echo objIP.IPAddress(i)
   Next
Next

Cài đặt thực hiện query thông qua VBS, chúng ta trỏ đến file Bginfo.vbs vừa tạo ở trên. Tham khảo cài đặt như hình dưới:

Chọn IPv4 vừa định nghĩa trong vùng Fields -> Add để thêm vào nội dung cần hiển thị -> Apply -> OK xem kết quả.

Kết quả cho chúng ta thấy chỉ lấy duy nhất IPv4 cho dù IPv6 đang enable. 

5. Sắp xếp các trường cần hiển thị theo ý
Các bạn có thể sắp xếp theo yêu cầu của các bạn, cách làm của chúng tôi chỉ nhằm mục đích tham khảo:


Sau khi xem kết quả nếu ok chúng ta lưu lại (file -> save as) với tên Bginfo.bgi cùng thư mục với file Bginfo.exe cho dễ.


Chúng tôi lưu vào C:\Windows\Bginfo, và hiện tại có 3 file (bginfo.exe là file chương trình, bginfo.vbs được tạo ra ở mục 4, bginfo.bgi được tạo ra ở mục 5 lưu cấu hình).

6. Cài đặt Bginfo vào startup cho user.

  • Tạo file Bginfo.reg với nội dụng sau và chạy file này với quyền administrator:

Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\Sysinternals\BGInfo]
"EulaAccepted"=dword:00000001

 Kết quả sau khi chạy file Bginfo.reg

  • Tạo file Bginfo.bat với nội dung:

@echo off
cd
CALL "C:\BGinfo\Bginfo.exe" "C:\BGinfo\Bginfo.bgi" /timer:0 /nolicprompt
Ý nghĩa:  timer:0 : thời gian chờ là 0;  nolicprompt: không cần cần hiển thị form xác nhận thông tin

  • Tạo shortcut để chạy file Bginfo.bat mỗi khi đăng nhập vào máy


7. Deploy từ Domain Controller xuống các máy con trong môi trường domain thông qua GPO.

  • Share folder Bginfo trên file server và cho phép các client truy cập vào folder này
Kết quả truy cập đến folder Bginfo trên file server thành công.
  • Tạo GPO thực hiện copy tất cả các file Bginfo.* từ file server đến máy client

  • Tạo regedit key mặc đinh cho phép (EulaAccepted) khi chạy lần đầu tiên

  • Tạo shortcut để thực thi file Bginfo.bgi trên Startup



  • Thực hiện deploy từ domain xuống các client


Với các máy client các bạn thực hiện lệnh gpupdate /force và log off lại máy để xem kết quả.

Chúng tôi hy vọng sẽ ít nhiều giúp được các bạn khi cần.
Các file đã thực hiện của bài lab

Xong!

Các link tham khảo
1. Cài đặt cơ bản từ microsoft.com
2. Remove the (none) IP Address
3. VBScript for displaying only IPv4 Addresses

No comments:

Post a Comment

/*header slide*/