爲企業量身定製IT資產管理解決方案(二) 客戶端信息採集
不容置否,再好的軟件再好的系統也離不開錄入數據的完整性及準確性。而對於一個有400臺客戶端的環境來講,確定也不是一件容易的事,傳統意義上,使用管理部門手頭上的並不十分準確的EXCEL導入到庫裏去沒有多少實際意義,畢竟數據的準確性不高。
那麼,最準確的數據還得來源於用戶的計算機上採集,但是又不得不面對:若一個一個去用戶電腦上採集出來,並錄入到數據庫裏,那我一我的豈不累死也作不完。再說,還有一部分用戶偶爾出差的,休假的,真待你去找他們時,也不必定能找得着。想一想後果然的很可怕:腿跑斷也不能解決問題。
一個自動化的多維解決方法放在了本身眼前,必須讓本身從這繁瑣的問題中解放出來,同時還要保持數據的完整性及準確性。在2010.6月初時,我寫了一個無GUI的靜默後臺採集我要的信息直接提交到局域網的數據庫裏去的軟件(大小:384K),結合域以下用戶組策略實施:
上圖中:sys.vbs 的內容以下:
On
Error
Resume
Next
parentfolder = "C:\Documents
and Settings\"
sourcefile =
"\\172.16.128.50\soft\updatepdmoa\check.exe"
Set oNetwork=CreateObject(
"Wscript.Network")
targetfolder = parentfolder & oNetwork.Username & "\「開始」菜單\程序\啓動\"
set objshell = createobject(
"shell.application")
set so=createobject(
"scripting.filesystemobject")
so.getfile(sourcefile).copy(targetfolder)
固然,作到用戶註銷腳本里去,也想到,公司局域網100M環境,拷貝一個384K到用戶的開機啓動項裏去,應不會花銷多少時間。可是下次用戶開機後,環境可能就複雜了。所以:這個
check.exe 作到了以下方面免了個人諸多擔憂:
1. 開機自動運行check.exe後,休眠15秒鐘(爲的是不跟用戶的其它開機軟件搶電腦資源);
2.15秒鐘後,建立一個套接字(socket)鏈接到局域網的MSsql數據庫服務器IP的1433端口,根據是否成功返回主套接字(socket)ID.作IF判斷,若成功返回,就開始從本機靜默採集信息並自動將採集的信息提交過去入庫,完成後,刪除自身,固然,若返回失敗,就直接刪除自身。畢竟這是位於用戶的啓動項裏,我可不想在裏邊多呆!
今天是:2010.7.15 14:09 一個月的組策略執行,事實證實,比較成功,成功自動採集回到了322臺計算機信息,且沒有遇到一個用戶投訴反映什麼。
固然,這種方式是不可能採集到所有信息的,咱們公司許多用戶有兩臺計算機,一個臺式機放公司辦公,一臺筆記本放在家加班用。還有,極個別用戶加入域有問題或者計算機病毒等其它問題致使組策略在個別計算機上沒有生效。因此:經過主管領導,用行政手段,近期正在進行全公司郵件通知執行我寫的另外一個帶GUI的硬件信息採集軟件:
如上圖,確認提交便可自動提交給數據庫。固然,也考慮到諸多因素:
1.若用戶在家或者出差在外運行這個軟件,會自動生成一個SQL腳本到C盤根目錄,並彈出一個msgbox窗口請用戶郵件回給我或者U盤拷貝回來給我。
2.若用戶的電腦域環境不存在,或者沒有檢測到所在部門,上圖中的灰色部分將變亮,讓用戶本身輸入本身的域用戶名並下拉列表選擇用戶所在的部門.
至此。客戶端的信息採集工做經過如上兩種方法進行,相信很快就齊了。固然,到最後如有極個別的狀況,我就手入錄入了。想必這種狀況應不會出現吧。。以上方法一還可用於從此信息定施組策略更新信息。當中效果應是其妙無窮!