机房计算机管理与维护系统的设计与实现.docx

上传人:b****5 文档编号:7661533 上传时间:2023-01-25 格式:DOCX 页数:6 大小:18.31KB
下载 相关 举报
机房计算机管理与维护系统的设计与实现.docx_第1页
第1页 / 共6页
机房计算机管理与维护系统的设计与实现.docx_第2页
第2页 / 共6页
机房计算机管理与维护系统的设计与实现.docx_第3页
第3页 / 共6页
机房计算机管理与维护系统的设计与实现.docx_第4页
第4页 / 共6页
机房计算机管理与维护系统的设计与实现.docx_第5页
第5页 / 共6页
点击查看更多>>
下载资源
资源描述

机房计算机管理与维护系统的设计与实现.docx

《机房计算机管理与维护系统的设计与实现.docx》由会员分享,可在线阅读,更多相关《机房计算机管理与维护系统的设计与实现.docx(6页珍藏版)》请在冰豆网上搜索。

机房计算机管理与维护系统的设计与实现.docx

机房计算机管理与维护系统的设计与实现

机房计算机管理与维护系统的设计与实现

摘要:

计算机机房在计算机理论与实践教学中占有非常重要的作用,而机房计算机的管理与维护又是非常的繁杂,劳动强度也大。

本文介绍了如何利用VB.NET语言和远程唤醒技术设计实现机房管理与维护系统,使这些繁琐的工作科学化、现代化、自动化,减轻工作人员的劳动强度,提高工作效率,使工作人员工作舒心、愉快。

关键词:

计算机VB.NETMAC地址远程唤醒远程关机

1需求分析

SourceIPAddress=0

MacLength=6

DimMacReturnAsString=““

IfSendARP(DestIPAddress,SourceIPAddress,RemoteMac,MacLength)=0Then

IfMacLength<>0AndNotIsNothing(RemoteMac)Then

DimMac1AsString=System,Convert,ToString(RemoteMac,16)

DimiAsInteger

IfMac1,Length<12Then

Mac1=Mac1,PadLeft(12,“0”)

EndIf

IfMac1,Length=12AndMac1<>“0000”Then

Fori=10To0Step-2

MacReturn=MacReturn+Mac1,Substring(i)

Mac1=Mac1,Remove(i,2)

Next

EndIf

EndIf

EndIf

ReturnMacReturn

EndFunction

ReturnIpHostEntry,HostName

EndFunction

NewThread,Name=“MainThread”

NewThread,Start()

5.3计算机信息数据库操作模块

DimCmdAsOleDbCommand=NewOleDbCommand

DimXuHao,ComputerName,IPAddress,MacAddress,JifangHaoAsString

Cmd,Connection=Conn

Conn,Open()

ForiAsInteger=0ToDataGrideViewTmp,RowCount-1

XuHao=Val(DataGrideView1,Rows(),Item(i),Cells(),Item(0),Value)

ComputerName=DataGrideView1,Rows(),Item(i),Cells(),Item

(1),Value,ToString

IPAddress=DataGrideView1,Rows(),Item(i),Cells(),Item

(2),Value,ToString

MacAddress=DataGrideView1,Rows(),Item(i),Cells(),Item(3),Value,ToString

JifangHao=DataGrideView1,Rows(),Item(i),Cells(),Item(4),Value,ToString

Cmd,CommandText=“insertintohostdata(序号,计算机名称,IP地址,MAC地址,机房号)“&_”values(“&XuHao&”,&acute;“&ComputerName&”&acute;,&acute;“&IPAddress&”&acute;,&acute;“&MacAddress&”&acute;,&acute;“&JifangHao&”&acute;)”

Cmd,ExecuteNonQuery()

Next

(2)从数据库中按机房号读出数据并显示到表格DataGridView2中。

主要代码如下:

DimStrSqlAsString=“SELECT*fromhostdatawhere机房号=&acute;”&CBoxJiFangHao2.Text&“&acute;orderby序号”

DimConnAsNewOleDbConnection(ConnectString)

DimCmdAsNewOleDbCommand(StrSql,Conn)

DimdaAsNewOleDbDataAdapter(Cmd)

DimdsAsNewDataSetda.Fill(ds,“hostdata”)

DataGridView2.DataSource=ds.Tables(0)

DimCmdAsOleDbCommand=NewOleDbCommand

Cmd.Connection=Conn

Conn.Open()

Cmd.CommandText=“deletefromhostdatawhere机房号=&acute;”&CBoxJiFangHao2.Text&“&acute;”

Cmd.ExecuteNonQuery()

5.4远程唤醒模块

远程唤醒(Wake-on-LAN,WOL)是在计算机电源、主板和网卡等设备支持该功能的前提下,通过向处于半工作状态的网卡发送特定数据包,以实现计算机从停机状态自动启动的一种远程控制技术。

所发特定数据包的内容是FFFFFFFFFFFF加上16遍对方网卡的MAC地址。

如某台支持并开启远程唤醒功能的计算机网卡的MAC地址为00-E0-4C-00-00-06,则数据包的内容应为(不能出现’-’字符):

FFFFFFFFFFFF00E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C00000600E04C000006。

当计算机收到这个广播数据包后就与自己的MAC地址作比较,如果相同,便会向主板发送开机信号,使计算机自动开机,相当于按了一下电源开关按钮一样。

所需要的MAC地址存贮

在数据库中。

主要代码如下:

PrivateSubSetRemoteComputerPowerOn(ByValRemoteMACAsString)

DimDestMac(5)AsByte

ForiAsInteger=0To5

DestMac(i)=Convert.ToInt32(RemoteMAC.Substring(2*i,2),16)

Next

DimSendMac(101)AsByte

Fori=0To5

SendMac(i)=&HFF

Next

Fori=1To16

Forj=0To5

SendMac(i*6+j)=DestMac(j)

Next

Next

DimGroupIpAsIPAddress=IPAddress.Parse(“255.255.255.255”)

DimUDPSenderAsUdpClient=NewUdpClient

DimgroupEPAsIPEndPoint=NewIPEndPoint(GroupIp,65535)&acute;也可以是其它任意端口号

UDPSender.Send(SendMac,SendMac.Length,groupEP)

EndSub

5.5远程关机、取消远程关机模块

远程关机、取消远程关机是利用WindowsXP操作系统自带的程序shutdown.exe并使用特定的参数来实现的。

shutdown的用法(只列出部分参数):

shutdown[-i|-l|-s|-r|-a][-f][-m\\computername][-txx]。

-s即关闭计算机;-r即关闭并重启计算机;-a即取消关机/重启;-m\\computername即对远程计算机computername(可以是IP地址)执行关机/重启/取消操作;-txx即xx秒后执行相应操作;-f即强制运行的应用程序关闭而没有警告。

远程关机主要代码如下:

CreateObject(“WScript.Shell”).Run(“shutdown.exe/s/t“&WaitTime&“/f/m\\”&IPAddress,0)

取消远程关机主要代码如下:

5.6远程重启、取消远程重启模块

远程重启主要代码如下:

CreateObject(“WScript.Shell”).Run(“shutdown.exe/r/t“&WaitTime&“/f/m\\”&IPAddress,0)

取消远程重启与取消远程关机代码相同。

5.7参数配置模块

参数配置模块是利用两个文本框来修改远程唤醒的时间间隔和远程关机或远程重启的等待时间。

在进行远程唤醒时程序会读取远程唤醒的时间间隔,这样方便控制远程唤醒间隔的时间,防止开机过于集中,导致电压超负荷,引起故障。

在进行远程关机或重启时程序会按预先设置好的时间后执行对应的操作,方便使用。

6远程唤醒的开启操作(以我校的联想计算机为例)

打开计算机,在出现进入“PressTABtoshowPOSTscreen,DELtoSETUP……”提示时,立刻按键盘的“DEL”键,进入CMOS设置,选择“PowerManagementSetup”进入,选择“Wake-UpbyPCIcard”后面的修改项,将其设为“Enabled”。

如果没有此项,说明计算机不支持远程唤醒功能。

需要注意的是不同厂商的计算机或不同型号的计算机进入CMOS设置的方式会有不同,提示信息也会有所不同,但原理都是基本相同的。

7获得运行该软件的计算机的IP地址、MAC地址和计算机名称。

主要代码如下(实现了多网卡和多IP地址的情况):

ThisHostName=GetHostName()&acute;获得计算机名称

Nics=GetAllNetworkInterfaces()

Fori=0ToNics.Length–1&acute;找到所有活动网卡并添加到集合ActiveNicsCollection中

IfNics(i).OperationalStatus=NetworkInformation.OperationalStatus.UpAndNics(i).NetworkInterfaceType=NetworkInformation.NetworkInterfaceType.EthernetThen

CBoxNic.Items.Add(Nics(i).Description)

ActiveNicsCollection.Add(Nics(i))

EndIf

Next

IfCBoxNic.Items.Count>0Then

CBoxNic.SelectedIndex=0

EndIf

在组合框CBoxNic的SelectedValueChanged事件中添加如下主要代码:

IfActiveNicsCollection.Count>0Then&acute;获得当前网卡信息!

UserSelectedNic=ActiveNicsCollection.Item(CBoxNic.SelectedIndex+1)

UserSelectedNicIpInfomationCollection=UserSelectedNic.GetIPProperties.UnicastAddresses

ForiAsInteger=0ToUserSelectedNicIpInfomationCollection.Count–1

CBoxThisHostIp.Items.Add(UserSelectedNicIpInfomationCollection.Item(i).Address.ToString)

Next

DimMacAsPhysicalAddress=UserSelectedNic.GetPhysicalAddress()

ThisHostMac=Mac.ToString&acute;获得当前网卡的MAC地址

DimIpAdressAsIPAddressInformationCollection=UserSelectedNic.GetIPProperties.AnycastAddresses

ForjAsInteger=0ToIpAdress.Count-1

CBoxThisHostIp.Items.Add(IpAdress(j).ToString)

Next

CBoxThisHostIp.SelectedItem=CBoxThisHostIp.Items.Item(0)

ThisHostIP=CBoxThisHostIp.Text&acute;获得当前网卡第一个IP地址

EndIf

8结语  该软件采用VB.NET语言实现,同时利用了操作系统所提供的工具shutdown.exe,节省了开发时间,并实现了多网卡和多IP地址的操作。

本系统可以运行在任何运行.NET2.0的Windows操作系统上,只需拷贝到计算机上即可使用,属于绿色软件。

本系统已经在我校机房计算机管理和维护中正常使用,效果良好,有效降低了机房管理人员的工作强度,提高了机房管理的效率和管理水平,大大提高了工作效率,也使工作人员在工作中享受快乐,能够及时快速远程关闭计算机,也节省了电力资源。

参考文献

[1]刘金明,鹿晓力.基于VB和批处理的机房计算机管理软件的设计与实现.郑州:

河南工程学院学报(自然科学版),2010.

[2]彭晓东.远程唤醒技术在机房管理中的应用.内江:

内江师范学院学报,2006.

[3]周琳,李旗堂.公共机房ARP病毒欺骗原理与处理.北京:

科技资讯,2010.

[4]崔彦峰,银华强.精通ViSualBasic.NET网络编程[M].北京:

清华大学出版社,2004.

[5]罗斌,王彬.ViSualBasic2005编程实例精粹[M].北京:

中国水利水电出版社,2006.

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 信息与通信

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1