WMI query를 이용해서 remote computer에 대한 system 작업을 할 때, .net으로 하는 방법 간단 예제.
try { ConnectionOptions connectionOptions = new ConnectionOptions() { Impersonation = ImpersonationLevel.Impersonate, Username = string.Format("{0}\\{1}", txDomain.Text, txUserName.Text), Password = txPassword.Text, Authentication = AuthenticationLevel.Default, EnablePrivileges = true }; ManagementScope scope = new ManagementScope(txNamespace.Text, connectionOptions); ObjectQuery query = new ObjectQuery(txQuery.Text); ManagementObjectSearcher searcher = new ManagementObjectSearcher(scope, query); ManagementObjectCollection managementObjects = searcher.Get(); txResult.Text = string.Empty; StringBuilder sb = new StringBuilder(); foreach (var o in managementObjects) { System.Diagnostics.Debug.WriteLine(o.ToString()); sb.AppendLine(o.ToString()); } txResult.Text = sb.ToString(); managementObjects.Dispose(); searcher.Dispose(); } catch(Exception ex) { txResult.Text = string.Empty; txResult.Text = ex.Message + Environment.NewLine + ex.StackTrace; }