2011-02-10 39 views
5

¿Puede leer la información de hardware de los servidores a través de una aplicación web en C#?Obtener información de hardware en el servidor

+0

¿Qué información en particular quieres saber? Es posible que haya cierta información disponible, pero realmente depende de la información que necesita. – awe

+0

en su mayoría espacio en disco duro, CPU, uso de RAM quizás –

Respuesta

3

Tengo una publicación en el blog sobre cómo obtener la cantidad de CPU/Núcleos de una máquina. Getting the No Of CPUs and Cores

La clase WMI de Win32_ComputerSystem tiene mucha información interesante. El código en la publicación muestra cómo consultar y extraer esta información.

espacio de Hadrdrive que puede obtener desde el Win32_LogicalDisk Class. Esta página le dará todas las otras clases de WMI que podría usar http://msdn.microsoft.com/en-us/library/aa394554(v=VS.85).aspx

+0

¿Pero ManagementObjectSearcher no está disponible en aplicaciones web? –

+0

¿Cómo significar no está disponible? –

+0

No puedo acceder? –

3

¿Ha intentado utilizar scripts de WMI para recuperar información de hardware?

using System.Management; 
. 
. 
. 
ManagementObjectSearcher searcher = new ManagementObjectSearcher(
    "select * from " + Key); 

. 
. 
. 
The Key on the code above, is a variable that is replaced with appropriate data. For example, to get the information of the CPU, you have to replace the Key with Win32_Processor. A complete list of these keys is given below: 

Win32_1394Controller 
Win32_1394ControllerDevice 
Win32_Account 
Win32_AccountSID 
Win32_ACE 
Win32_ActionCheck 
Win32_AllocatedResource 
Win32_ApplicationCommandLine 
Win32_ApplicationService 
Win32_AssociatedBattery 
Win32_AssociatedProcessorMemory 
Win32_BaseBoard 
Win32_BaseService 
Win32_Battery 
Win32_Binary 
Win32_BindImageAction 
Win32_BIOS 
Win32_BootConfiguration 
Win32_Bus 
Win32_CacheMemory 
Win32_CDROMDrive 
Win32_CheckCheck 
Win32_CIMLogicalDeviceCIMDataFile 
Win32_ClassicCOMApplicationClasses 
Win32_ClassicCOMClass 
Win32_ClassicCOMClassSetting 
Win32_ClassicCOMClassSettings 
Win32_ClassInfoAction 
Win32_ClientApplicationSetting 
Win32_CodecFile 
Win32_COMApplication 
Win32_COMApplicationClasses 
Win32_COMApplicationSettings 
Win32_COMClass 
Win32_ComClassAutoEmulator 
Win32_ComClassEmulator 
Win32_CommandLineAccess 
Win32_ComponentCategory 
Win32_ComputerSystem 
Win32_ComputerSystemProcessor 
Win32_ComputerSystemProduct 
Win32_COMSetting 
Win32_Condition 
Win32_CreateFolderAction 
Win32_CurrentProbe 
Win32_DCOMApplication 
Win32_DCOMApplicationAccessAllowedSetting 
Win32_DCOMApplicationLaunchAllowedSetting 
Win32_DCOMApplicationSetting 
Win32_DependentService 
Win32_Desktop 
Win32_DesktopMonitor 
Win32_DeviceBus 
Win32_DeviceMemoryAddress 
Win32_DeviceSettings 
Win32_Directory 
Win32_DirectorySpecification 
Win32_DiskDrive 
Win32_DiskDriveToDiskPartition 
Win32_DiskPartition 
Win32_DisplayConfiguration 
Win32_DisplayControllerConfiguration 
Win32_DMAChannel 
Win32_DriverVXD 
Win32_DuplicateFileAction 
Win32_Environment 
Win32_EnvironmentSpecification 
Win32_ExtensionInfoAction 
Win32_Fan 
Win32_FileSpecification 
Win32_FloppyController 
Win32_FloppyDrive 
Win32_FontInfoAction 
Win32_Group 
Win32_GroupUser 
Win32_HeatPipe 
Win32_IDEController 
Win32_IDEControllerDevice 
Win32_ImplementedCategory 
Win32_InfraredDevice 
Win32_IniFileSpecification 
Win32_InstalledSoftwareElement 
Win32_IRQResource 
Win32_Keyboard 
Win32_LaunchCondition 
Win32_LoadOrderGroup 
Win32_LoadOrderGroupServiceDependencies 
Win32_LoadOrderGroupServiceMembers 
Win32_LogicalDisk 
Win32_LogicalDiskRootDirectory 
Win32_LogicalDiskToPartition 
Win32_LogicalFileAccess 
Win32_LogicalFileAuditing 
Win32_LogicalFileGroup 
Win32_LogicalFileOwner 
Win32_LogicalFileSecuritySetting 
Win32_LogicalMemoryConfiguration 
Win32_LogicalProgramGroup 
Win32_LogicalProgramGroupDirectory 
Win32_LogicalProgramGroupItem 
Win32_LogicalProgramGroupItemDataFile 
Win32_LogicalShareAccess 
Win32_LogicalShareAuditing 
Win32_LogicalShareSecuritySetting 
Win32_ManagedSystemElementResource 
Win32_MemoryArray 
Win32_MemoryArrayLocation 
Win32_MemoryDevice 
Win32_MemoryDeviceArray 
Win32_MemoryDeviceLocation 
Win32_MethodParameterClass 
Win32_MIMEInfoAction 
Win32_MotherboardDevice 
Win32_MoveFileAction 
Win32_MSIResource 
Win32_NetworkAdapter 
Win32_NetworkAdapterConfiguration 
Win32_NetworkAdapterSetting 
Win32_NetworkClient 
Win32_NetworkConnection 
Win32_NetworkLoginProfile 
Win32_NetworkProtocol 
Win32_NTEventlogFile 
Win32_NTLogEvent 
Win32_NTLogEventComputer 
Win32_NTLogEventLog 
Win32_NTLogEventUser 
Win32_ODBCAttribute 
Win32_ODBCDataSourceAttribute 
Win32_ODBCDataSourceSpecification 
Win32_ODBCDriverAttribute 
Win32_ODBCDriverSoftwareElement 
Win32_ODBCDriverSpecification 
Win32_ODBCSourceAttribute 
Win32_ODBCTranslatorSpecification 
Win32_OnBoardDevice 
Win32_OperatingSystem 
Win32_OperatingSystemQFE 
Win32_OSRecoveryConfiguration 
Win32_PageFile 
Win32_PageFileElementSetting 
Win32_PageFileSetting 
Win32_PageFileUsage 
Win32_ParallelPort 
Win32_Patch 
Win32_PatchFile 
Win32_PatchPackage 
Win32_PCMCIAController 
Win32_Perf 
Win32_PerfRawData 
Win32_PerfRawData_ASP_ActiveServerPages 
Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322 
Win32_PerfRawData_ASPNET_114322_ASPNETv114322 
Win32_PerfRawData_ASPNET_ASPNET 
Win32_PerfRawData_ASPNET_ASPNETApplications 
Win32_PerfRawData_IAS_IASAccountingClients 
Win32_PerfRawData_IAS_IASAccountingServer 
Win32_PerfRawData_IAS_IASAuthenticationClients 
Win32_PerfRawData_IAS_IASAuthenticationServer 
Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal 
Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator 
Win32_PerfRawData_MSFTPSVC_FTPService 
Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods 
Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice 
Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager 
Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition 
Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager 
Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases 
Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics 
Win32_PerfRawData_MSSQLSERVER_SQLServerLatches 
Win32_PerfRawData_MSSQLSERVER_SQLServerLocks 
Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager 
Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents 
Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist 
Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader 
Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge 
Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot 
Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics 
Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable 
Win32_PerfRawData_NETFramework_NETCLRExceptions 
Win32_PerfRawData_NETFramework_NETCLRInterop 
Win32_PerfRawData_NETFramework_NETCLRJit 
Win32_PerfRawData_NETFramework_NETCLRLoading 
Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads 
Win32_PerfRawData_NETFramework_NETCLRMemory 
Win32_PerfRawData_NETFramework_NETCLRRemoting 
Win32_PerfRawData_NETFramework_NETCLRSecurity 
Win32_PerfRawData_Outlook_Outlook 
Win32_PerfRawData_PerfDisk_PhysicalDisk 
Win32_PerfRawData_PerfNet_Browser 
Win32_PerfRawData_PerfNet_Redirector 
Win32_PerfRawData_PerfNet_Server 
Win32_PerfRawData_PerfNet_ServerWorkQueues 
Win32_PerfRawData_PerfOS_Cache 
Win32_PerfRawData_PerfOS_Memory 
Win32_PerfRawData_PerfOS_Objects 
Win32_PerfRawData_PerfOS_PagingFile 
Win32_PerfRawData_PerfOS_Processor 
Win32_PerfRawData_PerfOS_System 
Win32_PerfRawData_PerfProc_FullImage_Costly 
Win32_PerfRawData_PerfProc_Image_Costly 
Win32_PerfRawData_PerfProc_JobObject 
Win32_PerfRawData_PerfProc_JobObjectDetails 
Win32_PerfRawData_PerfProc_Process 
Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly 
Win32_PerfRawData_PerfProc_Thread 
Win32_PerfRawData_PerfProc_ThreadDetails_Costly 
Win32_PerfRawData_RemoteAccess_RASPort 
Win32_PerfRawData_RemoteAccess_RASTotal 
Win32_PerfRawData_RSVP_ACSPerRSVPService 
Win32_PerfRawData_Spooler_PrintQueue 
Win32_PerfRawData_TapiSrv_Telephony 
Win32_PerfRawData_Tcpip_ICMP 
Win32_PerfRawData_Tcpip_IP 
Win32_PerfRawData_Tcpip_NBTConnection 
Win32_PerfRawData_Tcpip_NetworkInterface 
Win32_PerfRawData_Tcpip_TCP 
Win32_PerfRawData_Tcpip_UDP 
Win32_PerfRawData_W3SVC_WebService 
Win32_PhysicalMemory 
Win32_PhysicalMemoryArray 
Win32_PhysicalMemoryLocation 
Win32_PNPAllocatedResource 
Win32_PnPDevice 
Win32_PnPEntity 
Win32_PointingDevice 
Win32_PortableBattery 
Win32_PortConnector 
Win32_PortResource 
Win32_POTSModem 
Win32_POTSModemToSerialPort 
Win32_PowerManagementEvent 
Win32_Printer 
Win32_PrinterConfiguration 
Win32_PrinterController 
Win32_PrinterDriverDll 
Win32_PrinterSetting 
Win32_PrinterShare 
Win32_PrintJob 
Win32_PrivilegesStatus 
Win32_Process 
Win32_Processor 
Win32_ProcessStartup 
Win32_Product 
Win32_ProductCheck 
Win32_ProductResource 
Win32_ProductSoftwareFeatures 
Win32_ProgIDSpecification 
Win32_ProgramGroup 
Win32_ProgramGroupContents 
Win32_ProgramGroupOrItem 
Win32_Property 
Win32_ProtocolBinding 
Win32_PublishComponentAction 
Win32_QuickFixEngineering 
Win32_Refrigeration 
Win32_Registry 
Win32_RegistryAction 
Win32_RemoveFileAction 
Win32_RemoveIniAction 
Win32_ReserveCost 
Win32_ScheduledJob 
Win32_SCSIController 
Win32_SCSIControllerDevice 
Win32_SecurityDescriptor 
Win32_SecuritySetting 
Win32_SecuritySettingAccess 
Win32_SecuritySettingAuditing 
Win32_SecuritySettingGroup 
Win32_SecuritySettingOfLogicalFile 
Win32_SecuritySettingOfLogicalShare 
Win32_SecuritySettingOfObject 
Win32_SecuritySettingOwner 
Win32_SelfRegModuleAction 
Win32_SerialPort 
Win32_SerialPortConfiguration 
Win32_SerialPortSetting 
Win32_Service 
Win32_ServiceControl 
Win32_ServiceSpecification 
Win32_ServiceSpecificationService 
Win32_SettingCheck 
Win32_Share 
Win32_ShareToDirectory 
Win32_ShortcutAction 
Win32_ShortcutFile 
Win32_ShortcutSAP 
Win32_SID 
Win32_SMBIOSMemory 
Win32_SoftwareElement 
Win32_SoftwareElementAction 
Win32_SoftwareElementCheck 
Win32_SoftwareElementCondition 
Win32_SoftwareElementResource 
Win32_SoftwareFeature 
Win32_SoftwareFeatureAction 
Win32_SoftwareFeatureCheck 
Win32_SoftwareFeatureParent 
Win32_SoftwareFeatureSoftwareElements 
Win32_SoundDevice 
Win32_StartupCommand 
Win32_SubDirectory 
Win32_SystemAccount 
Win32_SystemBIOS 
Win32_SystemBootConfiguration 
Win32_SystemDesktop 
Win32_SystemDevices 
Win32_SystemDriver 
Win32_SystemDriverPNPEntity 
Win32_SystemEnclosure 
Win32_SystemLoadOrderGroups 
Win32_SystemLogicalMemoryConfiguration 
Win32_SystemMemoryResource 
Win32_SystemNetworkConnections 
Win32_SystemOperatingSystem 
Win32_SystemPartitions 
Win32_SystemProcesses 
Win32_SystemProgramGroups 
Win32_SystemResources 
Win32_SystemServices 
Win32_SystemSetting 
Win32_SystemSlot 
Win32_SystemSystemDriver 
Win32_SystemTimeZone 
Win32_SystemUsers 
Win32_TapeDrive 
Win32_TemperatureProbe 
Win32_Thread 
Win32_TimeZone 
Win32_Trustee 
Win32_TypeLibraryAction 
Win32_UninterruptiblePowerSupply 
Win32_USBController 
Win32_USBControllerDevice 
Win32_UserAccount 
Win32_UserDesktop 
Win32_VideoConfiguration 
Win32_VideoController 
Win32_VideoSettings 
Win32_VoltageProbe 
Win32_WMIElementSetting 
Win32_WMISetting 
... 
foreach (ManagementObject share in searcher.Get()) 
{ 
// Some Codes ... 

} 

.... 
foreach (PropertyData PC in share.Properties) 
{ 
//some codes ... 

} 

Hope that helps !!!

0

Puede usar System.Environment para obtener una cantidad de datos útiles. Por ejemplo, ejecutar

StringBuilder sbCpu = new StringBuilder(); 
sbCpu.Append(Environment.GetEnvironmentVariable("NUMBER_OF_PROCESSORS")); 
sbCpu.Append(" * "); 
sbCpu.Append(Environment.GetEnvironmentVariable("PROCESSOR_IDENTIFIER")); 
Console.Writeline(sbCpu.ToString()); 

le daría detalles de la CPU, p. "8 * Familia AMD64 15 Modelo 33 Paso 2, AuthenticAMD"

Es posible que también desee ver datos sobre el proceso actual en ejecución, p. el uso de la memoria, el conteo de hilos, etc. Aquí System.Diagnotics.Process es tu amigo.

using(Process process = GetProcess()) 
{ 
// access useful info here e.g. process.Threads.Count, process.PeakWorkingSet64 etc 

} 
Cuestiones relacionadas