WMI query를 이용해서 remote computer에 대한 system 작업을 할 때, .net으로 하는 방법 간단 예제.
01.
try
02.
{
03.
ConnectionOptions connectionOptions =
new
ConnectionOptions()
04.
{
05.
Impersonation = ImpersonationLevel.Impersonate,
06.
Username =
07.
string
.Format(
"{0}\\{1}"
, txDomain.Text,
08.
txUserName.Text),
09.
Password = txPassword.Text,
10.
Authentication = AuthenticationLevel.Default,
11.
EnablePrivileges =
true
12.
};
13.
14.
ManagementScope scope =
new
ManagementScope(txNamespace.Text, connectionOptions);
15.
ObjectQuery query =
new
ObjectQuery(txQuery.Text);
16.
ManagementObjectSearcher searcher =
new
ManagementObjectSearcher(scope, query);
17.
ManagementObjectCollection managementObjects = searcher.Get();
18.
19.
txResult.Text =
string
.Empty;
20.
21.
StringBuilder sb =
new
StringBuilder();
22.
foreach
(var o
in
managementObjects)
23.
{
24.
System.Diagnostics.Debug.WriteLine(o.ToString());
25.
sb.AppendLine(o.ToString());
26.
}
27.
txResult.Text = sb.ToString();
28.
managementObjects.Dispose();
29.
searcher.Dispose();
30.
}
31.
catch
(Exception ex)
32.
{
33.
txResult.Text =
string
.Empty;
34.
txResult.Text = ex.Message + Environment.NewLine + ex.StackTrace;
35.
}