停止或开启系统服务-续(远程调用)
来源:互联网 发布:最好的安卓编程语言 编辑:程序博客网 时间:2024/05/16 10:32
using System;
using System.Management;
namespace ArLi.CommonPrj {
public class Service_WMI {
public static readonly System.Version myVersion = new System.Version(1,1);
private ManagementBaseObject iObj = null;
private ManagementBaseObject oObj = null;
private ManagementClass mc = new ManagementClass(@"//arli/Win32/Service");
private readonly ManagementObjectCollection moc;
public Service_WMI(){
moc = mc.GetInstances();
}
///
/// 远程WMI 构造
///
/// 计算机名
/// 用户名,域用户可用 username@domain
/// 密码
public Service_WMI(string remoteComputerName, string userName, string passWord) {
moc = GetServiceCollection(remoteComputerName, userName, passWord);
}
private ManagementObjectCollection GetServiceCollection(string remoteComputerName, string userName, string passWord) {
ManagementObjectCollection returnWMIcollection = null;
ConnectionOptions co = new ConnectionOptions();
co.Username = userName;
co.Password = passWord;
System.Management.ManagementScope ms = new System.Management.ManagementScope("////" + remoteComputerName + "//root//cimv2", co);
System.Management.ObjectQuery oq = new System.Management.ObjectQuery("SELECT * FROM Win32_Service");
ManagementObjectSearcher query = new ManagementObjectSearcher(ms,oq);
returnWMIcollection = query.Get();
return returnWMIcollection;
}
///
/// 查询服务模式
///
/// 要查询的服务,为null 表示返回所有已禁用服务
public string GetStartMode(string serviceName) {
string s="";
foreach(ManagementObject mo in moc) {
if (serviceName != null) { //服务如果不为null
if (((string)mo["Name"]).ToUpper() == serviceName.ToUpper()) {
return (string)mo["StartMode"];
}
}
if ((string) mo["StartMode"] == "Disabled") {
s += mo["Name"].ToString() + "/r/n"; //自己改成想要的格式
//你可以用displayname,上面的是ServiceName,下面这个是DisplayName
//s += mo["DisplayName"].ToString() + "/r/n";
};
}
return s;
}
///
/// 设置模式
///
/// 服务名
/// 模式,比如:Boot/System/Automatic/Manual/Disabled
///
public int ChangeTo(string serviceName, string startMode) {
foreach(ManagementObject mo in moc) {
//服务名存在
if (((string)mo["Name"]).ToUpper() == serviceName.ToUpper()) {
// 如果服务已经是指定模式则返回
if ((string) mo["StartMode"] == startMode) return 0;
// 设置服务模式
iObj = mo.GetMethodParameters("ChangeStartMode");
iObj["StartMode"] = startMode;
oObj = mo.InvokeMethod("ChangeStartMode", iObj, null);
return 1;
}
}
return 0;
}
}
}
- 停止或开启系统服务-续(远程调用)
- 停止或开启系统服务
- ubuntu启动时开启或停止服务
- ubuntu启动时开启或停止服务
- MFC系统服务开启停止代码
- chkconfig命令 启动或停止 系统服务
- CMD 开启 停止服务
- 服务的开启,停止。
- Android -- service的开启方式, start开启和绑定开启服务,调用服务的的方法, aidl调用远程服务
- VC++启动或停止指定的系统后台服务
- c#开启/停止Windows服务
- android 学习笔记9-服务 启动停止 调用服务方法 远程服务 AIDL进程通信
- 远程开启telnet服务
- mysql 开启远程服务
- MySQL开启远程服务
- 数据库开启远程服务
- mysql开启远程服务
- Linux系统下如何开启Mysql远程连接服务
- 关于强名称
- 取得局域网内的所有数据库服务器列表
- 获取CPU的ID码
- 访问局域网资源
- 用xmlhttp读取webservice提供的dataset并写入table
- 停止或开启系统服务-续(远程调用)
- 使文件下载的自定义连接支持 FlashGet 的断点续传多线程链接下载! C#/ASP.Net 实现!
- 基于面向对象技术的异构系统整合
- 需求清单20040802--界面设计
- MFC Discovery 1
- 刚进公司,老板就刁难我,问题求解!!!大侠请帮忙啊!!!!
- 需求清单20040802--餐馆实际管理和操作规程
- 得到系统信息
- 安装程序制作求救