网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > VB.net > 正文
VB.NET开发扫描客户端服务工具
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/15
下载{$ArticleTitle}原创论文样式

  在大中型企业信息系统中,对客户端PC的管理,往往是容易出现问题的环节。因此,很多大公司引入了各种分布式的管理系统,例如防病毒方面的Norton AntiVirus,BlackICE防火墙,微软的 SMS (System Management Server),等等,这些系统都会在客户端安装相应的客户端软件,一般都是以服务的形式出现,但是由于种种原因,这些服务会停止运行或者该客户机根本没有安装这些客户端服务,这样管理系统就会出现疏漏,有可能造成问题,如因无法防御病毒而成为病毒源,无法为该客户端发布软件,无法管理客户PC等等。在此,我们提供一个方案,可以定时按照IP地址扫描网络,报告出特定的服务的状态。

  这个方案使用了Microsoft.NET技术,同时也用到了.NET Framework中的ADO.NET ,WMI management,XML。其核心是一个由VB.NET写的程序以及它的两个配置文件,配置文件为XML格式,该程序按IP扫描网络,得到每个系统的服务 的状态,如果IP地址没有对应系统,则忽略该IP,针对没有安装服务或服务停止的系统我们在另一个线程中运行NBTSTAT命令,得到其机器名,用户名,MAC地址域等信息,以便我们找到机器解决问题。其次为了保存扫描的结果,我们需要一个很小的数据库MS-Access或MS-SQL server都可以,本文使用SQL2000 。最后为了呈现出扫描的结果,以便我们采取行动,这里我们使用网页的形式把数据库中的结果展现出来。

  1. VB.NET程序

  该程序使用两个XML格式的配置文件,当程序启动时会读入这些配置。其中一个文件定义了需要扫描的网段,包括排除在外的地址段。另一个文件定义了连接数据库的信息,以及数据表的定义。这两个文件的内容如下:

<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个网段,其中两个网段有些地址需要排除在外(分配给打印机等设备),对于192.168.100段,我们排除从1到30,对于192.168.104段我们排除1到40。

<DBINFO>

<SERVER>DBServer</SERVER>

<DATABASE>DB</DATABASE>

<UID>REPORT</UID>

<PWD>REPORT</PWD>

<SERVICE TABLE=”SERVICE”>SERVICE</SERVICE>

</DBINFO>

  该文件定义了连接数据库所需的信息

TAG Meaning
<SERVER> SCANSERVICE数据库的服务器名
<DATABASE> SCANSERVICE数据库名
<UID> 用于更新SCANSERVICE数据库的数据库用户名
<PWD> 用于更新SCANSERVICE数据库的数据库用户的密码
<SERVICE> 该TAG的 inner 定义了我们希望扫描的Service的名字,
这里我们假定希望扫描服务名为SERVICE。
该TAG的属性定义了数据库中表名,该表用于保存扫描结果。  

  ‘首先我们定义一个类,主要用于得到某个IP地址的Service的状态信息,并在服务状态不正常时触发另一线程得到该系统的详细信息。

Imports System.ServiceProcess

Imports System.Xml

Imports System.Threading

Public Class GetStatus

Private IServiceName As String ‘服务的名称

Private IMachineIP As String ‘IP地址

Private ITable As String ‘在DATESET中的表名

‘构造函数

Sub New(ByVal Ip As String, ByVal SvcName As String, ByVal updatetable As String)

IMachineIP = Ip

IServiceName = SvcName

ITable = updatetable

End Sub

‘每个线程所运行的方法,用于得到服务的状态,如果状
  • 上一篇资讯: VB.NET中的变量范围差异
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号