我的帐户具有管理权限。我使用 powershell 在 Windows 7 Enterprise VM 上访问 WMI,如下所示:
Get-WmiObject -Namespace root\SecurityCenter2 -Class AntiVirusProduct -ComputerName $computername
并使用 C# 如下:
string computer = Environment.MachineName;
string wmipath = @"\\" + computer + @"\root\SecurityCenter2";
try
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher(wmipath,
"SELECT * FROM AntivirusProduct");
ManagementObjectCollection instances = searcher.Get();
//MessageBox.Show(instances.Count.ToString());
foreach (ManagementObject queryObj in instances)
{
return queryObj[type].ToString();
}
}
catch (Exception e)
{
MessageBox.Show(e.Message);
}
但是,Powershell 中的代码始终有效,但 C# 中的代码仅在我以管理员身份显式运行程序时才有效。我可以在 C# 代码中添加任何内容,以便它可以在不以管理员身份显式启动 C# 程序的情况下为具有管理权限的用户运行吗?