■河南 郭建偉
Bginfo 默認提供二十多個最常用參數,例如可以在桌面上統一顯示計算機名,域名、IP、DNS 地址、DHCP 服務器、默認網關、登錄賬戶名以及磁盤可用空間等信息。這樣便于網管人員和客戶更加快捷的溝通。
在域控上運行Bginfo,在其主界面可以查看默認的顯示項目。點擊“Preview”按鈕,可以預覽顯示效果。因為默認的項目可能不符合需要,可以點擊“Ctrl+A”鍵將其全選,之后將其全部刪除。在“Fields”面板中選擇所需的顯示項目(例如“HOST NAME”等),點擊“Add”按鈕,將其添加進來。按照同樣的方法,將所需的項目全部添加進來。當然,也可以直接在編輯區內輸入所需的內容,例如網管人員的聯系電話等。
當然,如果覺得Bginfo提供的項目有限,可以自定義顯示項目。例如想顯示客戶所屬的部門信息,可以點擊“Custom”按鈕,在打開窗口窗口中點擊“New”按 鈕,在“Identifier”欄中輸入“Department”,選擇“WMI Query”項,點擊“Browse”按鈕,在WMI Query Selection 窗口中的“WMI Class”列表中選擇“Win32_NetworkLoginProfile”項,在“Class Property”列表中選擇“Comment”項,在“WMI Query”欄中確保顯示“SELECT Comment FROM Win32_NetworkLoginProfile where is not NULL”語句,點擊OK按鈕創建該自定義項目。
按照這種方法,幾乎可以添加任何系統項目。在Bginfo窗口中的“Field”列表中選擇上述自定義項目,點擊“Add”按鈕,將其添加到編輯區域。點擊“Position”按鈕,可以更改Bginfo 的顯示位置。為了達到更好的顯示效果,可以在編輯區內先選擇所有項目,點擊標尺欄中的滑塊,來調整顯示間距。點擊工具欄的對應按鈕,可以調整其顏色,對齊方式等。選擇合適的字體個大小,讓其看起來更加優美。點擊菜單“File”→“Save As”項,將當前配置保存為獨立的文件(例如“new.bgi”)。之后可以隨時點擊菜單“File”→“Open”項,來打開該配置文件。
要想利用組策略部署Bginfo,需要選擇Bginfo 所在的文件夾,在其屬性窗口中的“共享”面板中點擊“高級共享”按鈕,選擇“共享此文件夾”項,點擊“權限”按鈕,在打開窗口中刪除“Everyone”賬戶,點擊“添加”按鈕,在“輸入對象名稱來選擇”欄中輸入“Auth”,點擊“檢查名稱”按鈕,選擇“Authentication Users”組,將其添加進來,賦予其讀取權限,讓經過認證的用戶才可以使用Bginfo。
在“安全”面板中可以看到,“Authentication Users”組已經擁有了修改,讀取和執行,列出文件夾內容的個權限。在客戶機上打開CMD 窗口,執行“net share”命令,可以看到該共享文件夾。將上述“new.bgi”文件保存到該共享目錄中。在該共享目錄中創建一個名為“Bginfo.bat”的批處理文件,其中只包含“\DCBginfoBginfo.exe \DCBginfo ew.bgi/timer:00/silent/NOCLICPROMPT”命令,其中的“DC”為域名的名稱,該批處理文件讓用戶先執行“Bginfo.exe”程序,并自動加載指定的配置文件,其中的“/timer:00”參數表示沒有延遲立即執行。“/silent”參數表示禁止顯示出錯信息,“/NOCLICPROMPT”參數參數表示跳過許可協議。
為了便于管理,可以執行“dsa.msc”程序,在Active Directory 用戶的計算機窗口左側創建所需的OU(例如“Client”),在其中存儲所需的賬戶。執行“gpedit.msc”程序,在組策略編輯器左側選擇“林”→“域”→“xxx.com”→“組策略對象”項,在其右鍵菜單上點擊“新建”項,輸入GPO 的名稱(例如“BginfoGPO”),創建該GPO。
在其右鍵菜單上點擊“Edit”項,在編輯界面左側選擇“用戶配置”→“策略”→“Windows 設置”→“腳本”-“登錄/ 注銷”項,在右側雙擊“登錄”項,在其屬性窗口中點擊“添加”按鈕,選擇并導入上述批處理文件。注意,在選擇窗口需要輸入UNC路徑來定位該文件,例如“\DCBginfo”。
在組策略編輯器左側選擇“林”→“域”→“xxx.com”→“Client”項,在其右鍵菜單上點擊“鏈接現有GPO”項,選擇上述GPO 項目。在域控上執行“gpupdate/force”命令,來刷新組策略。這樣,當該OU 中的用戶登錄域環境時,就會自動應用上述組策略,在桌面上顯示在Bginfo 中配置好的項目。
注意,有些主機可能安裝了多塊網卡,當對這些網卡進行配置時,可能因為各種問題(例如沒有連接網線等)導致出現問題。例如有的網卡沒有獲取正確的IP,DNS設置異常等,這給Bginfo 的信息顯示帶來了問題,例如顯示一些錯誤或者空信息等。為了解決該問題,就不能使用Bginfo 的默認配置了。
首先打開記事本,輸入“strComputer="."”,“On Error Resume Next”,“Set objWMIServices=GetObject("winmgmts:"&"{impersonationLeve l=impersonate}!\" &strCOmputer &" ootcimv2")”,“Set IPSettings=objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfigrati on where IPEnabled='true'")”,“For Each objIPv4 in IPSettings”,“For i=Lbound(objIPv4.IPAddress)toUbound(objIPv4.IPAddress) ”,“ If In Str (objIPv4.IPAddress(i),":")=0 Then Echo objIPv4.IPAddress(i)”,“Next”,“Next”行。
之后將其保存為“NewIP.vbs”。并存儲到上述共享目錄中,該腳本的主要作用是獲取配置正確的IP 信息。在創建一個名為“netmask.vbs”的文件,其中“strComputer="."”,“On Error Resume Next”,“Set objWMIServices=GetObject("winmgmts:"&"{impersonation Leve l=impersonate}!\" &strCOmputer&" ootcimv2")”,“Setcol Settings=objWMIService.ExecQuery("SELECT * FROM Win32_NetworkAdapterConfigrati on where IPEnabled='true'")”,“For Each objIP in colSettings”,“For i=Lbound(objIP.IPSubnet)toUbound(objIP.IPSubnet)”,“ If InStr(objIP.IPSubnet(i),"64")=0 Then EchoobjIP.IPSubnet(i)”,“Next”,“Next”行,并存儲到上述共享目錄中。
該腳本的主要作用是獲取配置正確的子網掩碼信息。在Bginfo 中打開上述配置文件,在編輯區中刪除“IP Address
按照同樣的方法,先刪除默認的“Subnet Mask
對于異常顯示的DNS 信息,可以先刪除默認的“DNS Server