我應該在C#中使用哪些類以便獲取有關網絡中某臺計算機的信息? (例如誰在該計算機上登錄,在該計算機上運行什麼操作系統,打開哪些端口等)C#:獲取有關域中計算機的信息
7
A
回答
2
WMI Library,這裏是一個VB.net example。它不應該很難轉換爲C#
2
查看WMI庫。
9
結賬System.Management和System.Management.ManagementClass。兩者都用於訪問WMI,這是如何獲取有問題的信息。
編輯:更新了樣品從遠程計算機訪問WMI:
ConnectionOptions options;
options = new ConnectionOptions();
options.Username = userID;
options.Password = password;
options.EnablePrivileges = true;
options.Impersonation = ImpersonationLevel.Impersonate;
ManagementScope scope;
scope = new ManagementScope("\\\\" + ipAddress + "\\root\\cimv2", options);
scope.Connect();
String queryString = "SELECT PercentProcessorTime, PercentInterruptTime, InterruptsPersec FROM Win32_PerfFormattedData_PerfOS_Processor";
ObjectQuery query;
query = new ObjectQuery(queryString);
ManagementObjectSearcher objOS = new ManagementObjectSearcher(scope, query);
DataTable dt = new DataTable();
dt.Columns.Add("PercentProcessorTime");
dt.Columns.Add("PercentInterruptTime");
dt.Columns.Add("InterruptsPersec");
foreach (ManagementObject MO in objOS.Get())
{
DataRow dr = dt.NewRow();
dr["PercentProcessorTime"] = MO["PercentProcessorTime"];
dr["PercentInterruptTime"] = MO["PercentInterruptTime"];
dr["InterruptsPersec"] = MO["InterruptsPersec"];
dt.Rows.Add(dr);
}
注:用戶ID,密碼和ip地址都必須被定義爲匹配您的環境。
3
這裏是一個使用它像在一個約盒中的例子。 MSDN擁有其餘所有項目。
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 About_box
{
public partial class About : Form
{
public About()
{
InitializeComponent();
FormLoad();
}
public void FormLoad()
{
SystemInfo si;
SystemInfo.GetSystemInfo(out si);
txtboxApplication.Text = si.AppName;
txtboxVersion.Text = si.AppVersion;
txtBoxComputerName.Text = si.MachineName;
txtBoxMemory.Text = Convert.ToString((si.TotalRam/1073741824)
+ " GigaBytes");
txtBoxProcessor.Text = si.ProcessorName;
txtBoxOperatingSystem.Text = si.OperatingSystem;
txtBoxOSVersion.Text = si.OperatingSystemVersion;
txtBoxManufacturer.Text = si.Manufacturer;
txtBoxModel.Text = si.Model;
}
}
}
相關問題
- 1. 獲取有關Android設備連接的計算機的信息
- 2. 獲取有關本地計算機的信息
- 3. 如何獲取有關域的信息.NET C++
- 4. 如何獲取有關計算機的信息? [32位或64位]
- 5. 有關計算機在Python中的信息
- 6. 獲取計算機的域名
- 7. 獲取遠程計算機的會話信息?
- 8. 獲取互相連接的計算機信息
- 9. 爲網絡管理員獲取重要的計算機信息
- 10. 如何獲取用戶計算機的詳細信息?
- 11. 獲取有關客戶端通信的C#WAP項目的統計信息
- 12. 創建Chrome插件以獲取計算機信息
- 13. 從另一臺計算機獲取信息
- 14. 如何獲取有關C#中當前運行時的信息?
- 15. C#獲取信息
- 16. 獲取有關YouTube視頻的信息
- 17. WooCommerce獲取有關訂單的信息
- 18. 獲取有關繼承鏈的信息
- 19. 獲取有關numpy dtype的信息
- 20. 獲取有關splayd的信息
- 21. API來獲取有關URL的信息
- 22. 獲取有關JVM崩潰的信息
- 23. 獲取有關WiFi網絡的信息
- 24. buildLoadSettings,獲取有關引用的信息
- 25. 獲取有關jboss的信息
- 26. Flex 4.5 - 獨特的計算機信息
- 27. 驗證本地計算機的Active Directory域信任關係
- 28. 獲取有關Twitter的用戶的人口統計信息
- 29. 從林中的所有計算機獲取所有計算機LastLogon
- 30. 獲取有關android的手機通話信息
您是否試圖在目標機器上運行此代碼?或者您是否試圖通過計算機運行此程序,並通過網絡獲取有關另一臺計算機的信息? – Nate 2009-06-09 17:26:16
我想從我的計算機上運行代碼,以便通過網絡獲取有關另一臺計算機的信息,瞭解其IP。 – melculetz 2009-06-09 18:51:49
在我的答案中提供了遠程WMI查詢的示例。 – Nate 2009-06-09 20:52:00