네트워크의 특정 컴퓨터에 대한 정보를 얻기 위해 C#에서 어떤 클래스를 사용해야합니까? (누가 해당 컴퓨터에 로그온했는지, 어떤 운영 체제가 해당 컴퓨터에서 실행 중인지, 어떤 포트가 열려 있는지 등)C# : 도메인에있는 컴퓨터 정보 얻기
7
A
답변
2
WMI 라이브러리 및 여기에 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, 암호 및 IPADDRESS 모두가 환경에 맞게 정의해야합니다.
+0
링크를 이용해 주셔서 감사합니다 – melculetz
3
다음은 about 상자와 같이 사용하는 예입니다. 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. 컴퓨터 도메인 얻기
- 2. 클라이언트의 컴퓨터 이름 얻기
- 3. 컴퓨터 사용자 얻기
- 4. 빌드에서 BuildAgent 정보 얻기
- 5. iPhone에서 Matrix (CGAffineTransform) 정보 얻기 C#/C++
- 6. 웹 페이지에서 정보 얻기
- 7. WMI없이 배터리 정보 얻기
- 8. 프로세스 정보 얻기
- 9. 어셈블리 정보 얻기
- 10. 네트워크에있는 컴퓨터에서 컴퓨터 설명 얻기
- 11. 메모리 섹션 정보 얻기
- 12. WPF C#, 오디오 파일에서 정보 얻기
- 13. 창 파일 정보 얻기
- 14. .Net 글꼴 정보 얻기?
- 15. 네트워크 인터페이스 정보 얻기
- 16. iPhone 노출 정보 얻기
- 17. 다른 JComponents에서 정보 얻기
- 18. Windows에서 한자 정보 얻기
- 19. 데이터베이스 sqlite에서 정보 얻기
- 20. 2 테이블에서 정보 얻기
- 21. PFX 파일에서 정보 얻기
- 22. SciTE의 키보드에서 정보 얻기
- 23. 공유 항목 정보 얻기
- 24. Drupal : 사용자 정보 얻기
- 25. Python - 정적 정보 얻기
- 26. IP 주소에서 정보 얻기
- 27. JPanel에 대한 정보 얻기
- 28. Sharepoint 사용자 정보 얻기
- 29. 사용자로부터 충돌 정보 얻기
- 30. 트리의 노드에서 정보 얻기
이 코드를 대상 컴퓨터에서 실행 하시겠습니까? 아니면 컴퓨터에서이 프로그램을 실행하고 네트워크를 통해 다른 컴퓨터에 대한 정보를 얻으려고합니까? – Nate
내 컴퓨터에서 코드를 실행하여 네트워크를 통해 다른 컴퓨터에 대한 정보를 얻고 싶습니다. 해당 IP 주소를 알고 있습니다. – melculetz
내 대답에 원격 WMI 쿼리의 예제가 제공됩니다. – Nate