扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
WMI解决方案
这个解决方案从代码方面看是一个很容易执行的方法,可下载代码包是:RebootNT_WMI.zip
首先要设置对Microsoft WMI 脚本库wbemdisp.tlb的引用,这可以从VB代码中调用(本例中就是这样),或者从脚本语言中调用,比如:
Private Sub cmdLocalReboot_Click()
Dim p_objSet As SWbemObjectSet
Dim p_objSWbemObj As Object
Set p_objSet = GetObject("winmgmts:{(Shutdown)}//./root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each p_objSWbemObj In p_objSet
p_objSWbemObj.reboot
Next p_objSWbemObj
End Sub
Private Sub cmdRemoteReboot_Click()
Dim p_objSet As SWbemObjectSet
Dim p_objSWbemObj As Object
Dim p_strServer As String
p_strServer = Me.Text1.Text
Set p_objSet = GetObject("winmgmts:{(Debug,RemoteShutdown)}//" _
& p_strServer & "/root/cimv2"). _
ExecQuery("select * from Win32_OperatingSystem where Primary=true")
For Each p_objSWbemObj In p_objSet
p_objSWbemObj.reboot
Next p_objSWbemObj
End Sub
这个相当简易的方法的缺点是:WMI 只在Win2K操作系统上有效。对于NT 4.0或 Win9x,就必须下载并安装WMI ,详细资料请参见MSDN。并且,这个方法对Win9x的重新启动不起作用。
结 语
OK,如果你需要在网络上重新启动一个或多个计算机,上面已经向你展示了一些不同的方法。请记住,如果你强制执行重新启动,那么无论选择哪种方法,任何打开的程序都将没有机会来保存那些未经存储的数据。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者