Операционная система : Windows 2008 R2 Web Server Edition
Проблема : Не удается получить информацию IIS локального сервера через класс Win32_PerfRawData_W3SVC_WebService
в ASP.net 4.0Веб-приложение
Фон :
Я могу получить информацию Win32_PerfRawData_W3SVC_WebService
в VBS-скрипте на сервере.
strComputer =""Установить objWMIService = GetObject ("winmgmts: \" & strComputer & "\ root \ CIMV2"). Установить colItems = objWMIService.ExecQuery (_ "ВЫБРАТЬ * ИЗ Win32_PerfRawData_W3SVC_WebService WHERE..Echo "CurrentConnections:" & objItem.CurrentConnections Next
Я пытался предоставить разрешение в wmimgmt.msc .Включите IIS_IUSRS и IUSR, но это не поможет
Пожалуйста, кто-нибудь может мне помочь, почему я не могу получить информацию из следующего кода?это успешно в моей тестовой машине.
ObjectQuery query = new ObjectQuery("SELECT * FROM Win32_PerfRawData_W3SVC_WebService WHERE Name='Cms2012' ");
using (ManagementObjectSearcher managementObjectSearcher = new ManagementObjectSearcher(managementScope, query))
{
using (ManagementObjectCollection coll = managementObjectSearcher.Get())
{
foreach (ManagementObject obj in coll)
{
iisStatus.Add( string.Format("Current connections: {0}", obj["CurrentConnections"]) );
iisStatus.Add( string.Format("Current anonymous users: {0}", obj["CurrentAnonymousUsers"]));
iisStatus.Add( string.Format("Current non anonymous users: {0}", obj["CurrentNonAnonymousUsers"]));
iisStatus.Add( string.Format("Maximum connections: {0}", obj["MaximumConnections"]));
iisStatus.Add( string.Format("Service up time: {0} seconds", obj["ServiceUptime"]));
iisStatus.Add( string.Format("Bytes received: {0:N2}MB", (ulong)obj["TotalBytesReceived"] / 1024.00M / 1024.00M));
iisStatus.Add(string.Format("Bytes sent: {0:N2}MB", (ulong)obj["TotalBytesSent"] / 1024.00M / 1024.00M));
break;
}
}
}