VB.NET程序之掃描客戶端服務代碼演示
作者:佚名
文章主要列舉VB.NET程序?qū)嵗S多人都知道客戶端往往會出現(xiàn)很多問題,我們就這個問題寫了一個VB.NET開發(fā)掃描客戶端服務工具。
客戶端往往會出現(xiàn)很多問題,在網(wǎng)上收了一些資料,是關于一個VB.NET開發(fā)掃描客戶端服務的例子,在這里和大家拿出來一起分享一下。在大中型企業(yè)信息系統(tǒng)中,對客戶端PC的管理,往往是容易出現(xiàn)問題的環(huán)節(jié)。因此,很多大公司引入了各種分布式的管理系統(tǒng),例如防病毒方面的Norton AntiVirus,BlackICE防火墻,微軟的 SMS (System Management Server),等等,這些系統(tǒng)都會在客戶端安裝相應的客戶端軟件,一般都是以服務的形式出現(xiàn),但是由于種種原因,這些服務會停止運行或者該客戶機根本沒有安裝這些客戶端服務,這樣管理系統(tǒng)就會出現(xiàn)疏漏,有可能造成問題,如因無法防御病毒而成為病毒源,無法為該客戶端發(fā)布軟件,無法管理客戶PC等等。在此,我們提供一個方案,可以定時按照IP地址掃描網(wǎng)絡,報告出特定的服務的狀態(tài)。
這個方案使用了Microsoft.NET技術,同時也用到了.NET Framework中的ADO.NET ,WMI management,XML。其核心是一個VB.NET程序以及它的兩個配置文件,配置文件為XML格式,該程序按IP掃描網(wǎng)絡,得到每個系統(tǒng)的服務 的狀態(tài),如果IP地址沒有對應系統(tǒng),則忽略該IP,針對沒有安裝服務或服務停止的系統(tǒng)我們在另一個線程中運行NBTSTAT命令,得到其機器名,用戶名,MAC地址域等信息,以便我們找到機器解決問題。其次為了保存掃描的結(jié)果,我們需要一個很小的數(shù)據(jù)庫MS-Access或MS-SQL server都可以,本文使用SQL2000 。***為了呈現(xiàn)出掃描的結(jié)果,以便我們采取行動,這里我們使用網(wǎng)頁的形式把數(shù)據(jù)庫中的結(jié)果展現(xiàn)出來。
VB.NET程序
該程序使用兩個XML格式的配置文件,當程序啟動時會讀入這些配置。其中一個文件定義了需要掃描的網(wǎng)段,包括排除在外的地址段。另一個文件定義了連接數(shù)據(jù)庫的信息,以及數(shù)據(jù)表的定義。這兩個文件的內(nèi)容如下:
該文件定義將要掃描5個網(wǎng)段,其中兩個網(wǎng)段有些地址需要排除在外(分配給打印機等設備),對于192.168.100段,我們排除從1到30,對于192.168.104段我們排除1到40。
這個方案使用了Microsoft.NET技術,同時也用到了.NET Framework中的ADO.NET ,WMI management,XML。其核心是一個VB.NET程序以及它的兩個配置文件,配置文件為XML格式,該程序按IP掃描網(wǎng)絡,得到每個系統(tǒng)的服務 的狀態(tài),如果IP地址沒有對應系統(tǒng),則忽略該IP,針對沒有安裝服務或服務停止的系統(tǒng)我們在另一個線程中運行NBTSTAT命令,得到其機器名,用戶名,MAC地址域等信息,以便我們找到機器解決問題。其次為了保存掃描的結(jié)果,我們需要一個很小的數(shù)據(jù)庫MS-Access或MS-SQL server都可以,本文使用SQL2000 。***為了呈現(xiàn)出掃描的結(jié)果,以便我們采取行動,這里我們使用網(wǎng)頁的形式把數(shù)據(jù)庫中的結(jié)果展現(xiàn)出來。
VB.NET程序
該程序使用兩個XML格式的配置文件,當程序啟動時會讀入這些配置。其中一個文件定義了需要掃描的網(wǎng)段,包括排除在外的地址段。另一個文件定義了連接數(shù)據(jù)庫的信息,以及數(shù)據(jù)表的定義。這兩個文件的內(nèi)容如下:
- <IPLIST>
- <IP LANID="192.168.100." ><EXP L=”1” H=”30”/></IP>
- <IP LANID="192.168.101." />
- <IP LANID="192.168.102." />
- <IP LANID="192.168.103." />
- <IP LANID="192.168.104." ><EXP L=”1” H=”40”/></IP>
- </IPLIST>
該文件定義將要掃描5個網(wǎng)段,其中兩個網(wǎng)段有些地址需要排除在外(分配給打印機等設備),對于192.168.100段,我們排除從1到30,對于192.168.104段我們排除1到40。
該文件定義了連接數(shù)據(jù)庫所需的信息
- <DBINFO>
- <SERVER>DBServer</SERVER>
- <DATABASE>DB</DATABASE>
- <UID>REPORT</UID>
- <PWD>REPORT</PWD>
- <SERVICE TABLE=”SERVICE”>SERVICE</SERVICE>
- </DBINFO>
這里我們假定希望掃描服務名為SERVICE。該TAG的屬性定義了數(shù)據(jù)庫中表名,該表用于保存掃描結(jié)果。上述就是一個VB.NET程序 。
- TAG Meaning
- <SERVER> SCANSERVICE數(shù)據(jù)庫的服務器名
- <DATABASE> SCANSERVICE數(shù)據(jù)庫名
- <UID> 用于更新SCANSERVICE數(shù)據(jù)庫的數(shù)據(jù)庫用戶名
- <PWD> 用于更新SCANSERVICE數(shù)據(jù)庫的數(shù)據(jù)庫用戶的密碼
- <SERVICE> 該TAG的 inner 定義了我們希望掃描的Service的名字,
【編輯推薦】
責任編輯:田樹
來源:
博客