利用c#對遠端服務進行操作
在.net中提供了一些類來顯示和控制windows系統上的服務,並可以實現對遠端計算機服務服務的訪問,如system.serviceprocess命名空間下面的servicecontroller 類,system.management下面的一些wmi操作的類。雖然用
servicecontroller可以很方便的實現對服務的控制,而且很直觀、簡潔和容易理解。但是我認為他的功能同通過wmi來操作服務相比,那可能就有些單一了,並且對多個服務的操作可能就比較麻煩,也無法列出系統中的所有服務的具體資料。這裡要講的就是如何使用system.management元件來操作遠端和本地計算機上的服務。
wmi作為windows 2000作業系統的一部分提供了可伸縮的,可擴充套件的管理架構.公共資訊模型(cim)是由分布式管理任務標準協會(dmtf)設計的一種可擴充套件的、物件導向的架構,用於管理系統、網路、應用程式、資料庫和裝置。windows管理規範也稱作cim for windows,提供了統一的訪問管理資訊的方式。如果需要獲取詳細的wmi資訊請讀者查閱msdn。system.management元件提供對大量管理資訊和管理事件集合的訪問,這些資訊和事件是與根據 windows 管理規範 (wmi) 結構對系統、裝置和應用程式設定檢測點有關的。
但是上面並不是我們最關心的,下面才是我們需要談的話題。
毫無疑問,我們要引用system.management.dll程式集,並要使用system.management命名空間下的類,如managementclass,managementobject等。下面用乙個名為win32servicemanager的類把服務的一些相關操作包裝了一下,**如下:
using system;
using system.management;
namespace zz.wmi
public win32servicemanager(string host,string username,string password)
} // 驗證是否能連線到遠端計算機
public static bool remoteconnectvalidate(string host,string username,string password)
catch
return managementscope.isconnected;
}// 獲取指定服務屬性的值
public object getservicevalue(string servicename,string propertyname)
// 獲取所連線的計算機的所有服務資料
public string [,] getservicelist()
return services;
}// 獲取所連線的計算機的指定服務資料
public string [,] getservicelist(string servername));}
// 獲取所連線的計算機的的指定服務資料
public string [,] getservicelist(string servernames)
catch(managementexception e)
return strrst;
}
利用SSH對主機進行遠端控制
a.伺服器端產生使用者的自己的加密金鑰及對外公開使用的公鑰。在unix環境下,產生金鑰的方法如下 keygen 要求使用者輸入乙個長的認證字串,這個字串的功能同password相當,但是,它更長,一般是在20個字元以內。再次輸入相同的字串以確認輸入的正確,之後,系統產生一對金鑰及公鑰。將公鑰複製到本...
C 對XML進行操作
c 操作xml時,要引入命名空間using system.xml 獲取根節點的方法 1 知道根節點名稱 xmlnode root xmldoc.selectsinglenode 根節點名稱 2 不知道根節點名稱 xmlelement root xmldoc.documentelement xml中n...
c 對mssql進行操作(ado)
ado是以com的形式來進行提供,所以他的許多行為都必須支援com的規範,在進行ado操作之前必須將ado的com物件引入到專案當中。引入 import c program files commonfiles system ado msado15.dll no namespace rename eo...