zoukankan
html css js c++ java
远程重启服务器的程序
今天通过远程桌面重启服务器失败了,远程桌面就登录不进去了,不过还是能ping通的,为了能接着工作,就写了下面的代码去重启服务器。使用System.Mangement命名空间需要引用System.Mangement。
using
System;
using
System.Collections.Generic;
using
System.ComponentModel;
using
System.Data;
using
System.Drawing;
using
System.Text;
using
System.Windows.Forms;
using
System.Management;
namespace
Test
{
public
partial
class
RebootServer : Form
{
public
RebootServer()
{
InitializeComponent();
}
/**/
///
<summary>
///
获取服务器信息
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
private
void
button2_Click(
object
sender, EventArgs e)
{
string
strComputerName
=
string
.Empty;
StringBuilder strTemp
=
new
StringBuilder();
ConnectionOptions options
=
new
ConnectionOptions();
if
(textBox2.Text
!=
"
Computer Name or IP
"
&&
textBox2.Text.Trim()
!=
string
.Empty)
{
strComputerName
=
textBox2.Text.Trim();
}
else
{
MessageBox.Show(
"
Please enter computer name.
"
);
return
;
}
options.Username
=
@"
ENT\MSI Drone
"
;
options.Password
=
"
aaa
"
;
ManagementScope scope
=
new
ManagementScope(
"
\\\\
"
+
strComputerName
+
"
\\root\\cimv2
"
, options);
//
用给定管理者用户名和口令连接远程的计算机
try
{
scope.Connect();
//
Query system for Operating System information
ObjectQuery query
=
new
ObjectQuery(
"
SELECT * FROM Win32_OperatingSystem
"
);
ManagementObjectSearcher searcher
=
new
ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection
=
searcher.Get();
textBox1.Text
=
""
;
foreach
(ManagementObject m
in
queryCollection)
{
strTemp.Append(
"
\r\n======================\r\n
"
);
//
Display the remote computer information
strTemp.Append(
"
Computer Name :
"
+
m[
"
csname
"
].ToString()
+
"
\r\n
"
);
strTemp.Append(
"
Windows Directory :
"
+
m[
"
WindowsDirectory
"
].ToString()
+
"
\r\n
"
);
strTemp.Append(
"
Operating System:
"
+
m[
"
Caption
"
].ToString()
+
"
\r\n
"
);
strTemp.Append(
"
Version:
"
+
m[
"
Version
"
].ToString()
+
"
\r\n
"
);
strTemp.Append(
"
Manufacturer :
"
+
m[
"
Manufacturer
"
].ToString()
+
"
\r\n
"
);
strTemp.AppendLine();
}
textBox1.Text
=
strTemp.ToString();
}
catch
(Exception ex)
{
MessageBox.Show(
"
Connection unsuccessfully!
"
);
textBox1.Text
=
ex.Message;
}
}
/**/
///
<summary>
///
重启服务器
///
</summary>
///
<param name="sender"></param>
///
<param name="e"></param>
private
void
button3_Click(
object
sender, EventArgs e)
{
string
strComputerName
=
string
.Empty;
StringBuilder strTemp
=
new
StringBuilder();
ConnectionOptions options
=
new
ConnectionOptions();
if
(textBox2.Text
!=
"
Computer Name or IP
"
&&
textBox2.Text.Trim()
!=
string
.Empty)
{
strComputerName
=
textBox2.Text.Trim();
}
else
{
MessageBox.Show(
"
Please enter computer name.
"
);
return
;
}
options.Username
=
@"
ENT\MSI Drone
"
;
options.Password
=
"
aaa
"
;
ManagementScope scope
=
new
ManagementScope(
"
\\\\
"
+
strComputerName
+
"
\\root\\cimv2
"
, options);
try
{
//
用给定管理者用户名和口令连接远程的计算机
scope.Connect();
//
Query system for Operating System information
ObjectQuery query
=
new
ObjectQuery(
"
SELECT * FROM Win32_OperatingSystem
"
);
ManagementObjectSearcher searcher
=
new
ManagementObjectSearcher(scope, query);
ManagementObjectCollection queryCollection
=
searcher.Get();
textBox1.Text
=
""
;
foreach
(ManagementObject mo
in
queryCollection)
{
string
[] ss
=
{
""
}
;
//
重启远程计算机
mo.InvokeMethod(
"
Reboot
"
, ss);
}
textBox1.Text
=
"
Reboot successfully!
"
;
}
catch
(Exception ex)
{
MessageBox.Show(
"
Connection unsuccessfully!
"
);
textBox1.Text
=
ex.Message;
}
}
}
}
查看全文
相关阅读:
游戏文字自动断行需要,还得从 UTF-8 讲起
史上最明白的 NULL、0、nullptr 区别分析(老师讲N篇都没讲明白的东东),今天终于明白了,如果和我一样以前不明白的可以好好的看看...
django -- ORM实现作者增删改查
selenium--操作JS弹框
selenium--多窗口操作
django -- ORM实现图书增删改查
django -- ORM实现出版社增删改查
selenium--等待的三种方式
postman使用--Monitor
django -- 实现ORM登录
原文地址:https://www.cnblogs.com/pdfw/p/938706.html
最新文章
互斥锁与join的区别
互斥锁
守护进程
[K/3Cloud]如何解决kdpkg无法部署到业务站点的问题
sencha touch 2制作滑动DataView(无缝list)
Sencha Touch 2 结合HTML5的本地存储创建数据库实现增、删、改、查
Sencha Touch中 xclass和xtype区别
Sencha Touch 2中如何动态添加button
JS判断浏览器类型和屏幕分辨率来调用不同的CSS样式
EXt js 学习笔记总结
热门文章
完全卸载oracle11g步骤
extjs 4 chart 时间轴格式的处理
github Git 原理简介
mac 浏览器 强刷快捷键
c++ const char *c_str(); 坑的学习
android 点滴记录 ICCID IMSI IMEI MEID 关系 和 区别,相关参数在什么情况下可以获取...
android 设备唯一码的获取,Cpu号,Mac地址
使用Eclipse调试Android Native Application---cocos2d-x + Eclipse + Android + ndk
cocos2d-x mac or windows eclipse android ------ Eclipse工程里面还会有许多警告
char 与 unsigned char的本质区别
Copyright © 2011-2022 走看看