Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Try
Dim coption As New ConnectionOptions()
'定义远程计算机的管理员帐号
coption.Username = CStr(Me.TextBox3.Text)
'输入远程机管理员账号
coption.Password = CStr(Me.TextBox4.Text)
'输入远程机管理员密码
Dim scope As ManagementScope
scope = New ManagementScope("\\" + CStr(TextBox1.Text) _
+ "\root\cimv2", coption)
'以给定的管理员帐号连接给定计算机名或者IP地址的计算机
scope.Connect()
'连接远程计算机
Dim oq As Management.ObjectQuery
oq = New System.Management.ObjectQuery _
("SELECT * FROM Win32_OperatingSystem")
'调用远程计算机进行WMI操作
Dim query1 As ManagementObjectSearcher
query1 = New ManagementObjectSearcher(scope, oq)
'从已经完成远程连接的计算机中,得到WMI操作集合
Dim querycollection As ManagementObjectCollection
querycollection = query1.Get()
'存放得到WMI操作
Dim mo As ManagementObject
'定义WMI操作对象
For Each mo In querycollection
Dim ss() As String = {""}
mo.InvokeMethod("ReBoot", ss)
Next
'调用WMI控制,实现重启远程计算机
Catch ee As Exception
MessageBox.Show("在连接" & CStr(Me.TextBox2.Text) & _
"时出现错误" & ee.Message, _
"错误", MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
'报错处理
End Try
End Sub
Private Sub Button2_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button2.Click
Dim HostName As String
Dim HostIP As IPHostEntry
Dim IP As String
Try
IP = Me.TextBox1.Text
'输入IP地址
HostIP = Dns.GetHostByAddress(IP)
'通过IP地址获取IP地址集
Catch
MessageBox.Show(Err.Description, "错误", _
MessageBoxButtons.OK, MessageBoxIcon.Error)
Exit Sub
'获取所有可能出现的错误,如果出现错误则显示错误并退出过程
End Try
HostName = HostIP.HostName
Me.TextBox2.Text = HostName
'显示根据输入的IP地址的远程主机名称
End Sub
End Class