首页 > 解决方案 > 在cmd中提取数据特定数据并将其显示给asp.net mvc

问题描述

是否可以提取特定的 CMD 输出并将其显示在 ASP.NET MVC 网页中?我想创建一个显示计算机系统信息的网页。

我使用了以下 CMD 命令,我只想获取特定值并在我的 asp 网页中显示输出:
快照

标签: asp.net-mvccmd

解决方案


正如@Erik Philips 所建议的那样,您可以使用 WMI 来获取操作系统的特定信息,这个答案可能有点大,但应该为您提供所需的解决方案来获取操作系统上的几乎所有信息

驱动信息枚举

这是系统上可查询的内容的枚举,

public enum DeviceInformationEnum
    {
        Win32_1394Controller
        , Win32_1394ControllerDevice
        , Win32_AccountSID
        , Win32_ActionCheck
        , Win32_ActiveRoute
        , Win32_AllocatedResource
        , Win32_ApplicationCommandLine
        , Win32_ApplicationService
        , Win32_AssociatedBattery
        , Win32_AssociatedProcessorMemory
        , Win32_AutochkSetting
        , Win32_BaseBoard
        , 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_ClassInforAction
        , Win32_ClientApplicationSetting
        , Win32_CodecFile
        , Win32_COMApplicationSettings
        , Win32_COMClassAutoEmulator
        , Win32_ComClassEmulator
        , Win32_CommandLineAccess
        , Win32_ComponentCategory
        , Win32_ComputerSystem
        , Win32_ComputerSystemProcessor
        , Win32_ComputerSystemProduct
        , Win32_ComputerSystemWindowsProductActivationSetting
        , Win32_Condition
        , Win32_ConnectionShare
        , Win32_ControllerHastHub
        , Win32_CreateFolderAction
        , Win32_CurrentProbe
        , Win32_DCOMApplication
        , Win32_DCOMApplicationAccessAllowedSetting
        , Win32_DCOMApplicationLaunchAllowedSetting
        , Win32_DCOMApplicationSetting
        , Win32_DependentService
        , Win32_Desktop
        , Win32_DesktopMonitor
        , Win32_DeviceBus
        , Win32_DeviceMemoryAddress
        , Win32_Directory
        , Win32_DirectorySpecification
        , Win32_DiskDrive
        , Win32_DiskDrivePhysicalMedia
        , Win32_DiskDriveToDiskPartition
        , Win32_DiskPartition
        , Win32_DiskQuota
        , Win32_DisplayConfiguration
        , Win32_DisplayControllerConfiguration
        , Win32_DMAChanner
        , Win32_DriverForDevice
        , Win32_DriverVXD
        , Win32_DuplicateFileAction
        , Win32_Environment
        , Win32_EnvironmentSpecification
        , Win32_ExtensionInfoAction
        , Win32_Fan
        , Win32_FileSpecification
        , Win32_FloppyController
        , Win32_FloppyDrive
        , Win32_FontInfoAction
        , Win32_Group
        , Win32_GroupDomain
        , Win32_GroupUser
        , Win32_HeatPipe
        , Win32_IDEController
        , Win32_IDEControllerDevice
        , Win32_ImplementedCategory
        , Win32_InfraredDevice
        , Win32_IniFileSpecification
        , Win32_InstalledSoftwareElement
        , Win32_IP4PersistedRouteTable
        , Win32_IP4RouteTable
        , Win32_IRQResource
        , Win32_Keyboard
        , Win32_LaunchCondition
        , Win32_LoadOrderGroup
        , Win32_LoadOrderGroupServiceDependencies
        , Win32_LoadOrderGroupServiceMembers
        , Win32_LocalTime
        , Win32_LoggedOnUser
        , 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_LogonSession
        , Win32_LogonSessionMappedDisk
        , Win32_MappedLogicalDisk
        , Win32_MemoryArray
        , Win32_MemoryArrayLocation
        , Win32_MemoryDevice
        , Win32_MemoryDeviceArray
        , Win32_MemoryDeviceLocation
        , Win32_MIMEInfoAction
        , Win32_MotherboardDevice
        , Win32_MoveFileAction
        , Win32_NamedJobObject
        , Win32_NamedJobObjectActgInfo
        , Win32_NamedJobObjectLimit
        , Win32_NamedJobObjectLimitSetting
        , Win32_NamedJobObjectProcess
        , Win32_NamedJobObjectSecLimit
        , Win32_NamedJobObjectSecLimitSetting
        , Win32_NamedJobObjectStatistics
        , Win32_NetworkAdapter
        , Win32_NetworkAdapterConfiguration
        , Win32_NetworkAdapterSetting
        , Win32_NetworkClient
        , Win32_NetworkConnection
        , Win32_NetworkLoginProfile
        , Win32_NetworkProtocol
        , Win32_NTDomain
        , Win32_NTEventlogFile
        , Win32_NTLogEvent
        , Win32_NTLogEventComputer
        , Win32_NTLogEvnetLog
        , Win32_NTLogEventUser
        , Win32_ODBCAttribute
        , Win32_ODBCDataSourceAttribute
        , Win32_ODBCDataSourceSpecification
        , Win32_ODBCDriverAttribute
        , Win32_ODBCDriverSoftwareElement
        , Win32_ODBCDriverSpecification
        , Win32_ODBCSourceAttribute
        , Win32_ODBCTranslatorSpecification
        , Win32_OnBoardDevice
        , Win32_OperatingSystem
        , Win32_OperatingSystemAutochkSetting
        , Win32_OperatingSystemQFE
        , Win32_OSRecoveryConfiguración
        , Win32_PageFile
        , Win32_PageFileElementSetting
        , Win32_PageFileSetting
        , Win32_PageFileUsage
        , Win32_ParallelPort
        , Win32_Patch
        , Win32_PatchFile
        , Win32_PatchPackage
        , Win32_PCMCIAControler
        , Win32_PerfFormattedData_ASP_ActiveServerPages
        , Win32_PerfFormattedData_ASPNET_114322_ASPNETAppsv114322
        , Win32_PerfFormattedData_ASPNET_114322_ASPNETv114322
        , Win32_PerfFormattedData_ASPNET_2040607_ASPNETAppsv2040607
        , Win32_PerfFormattedData_ASPNET_2040607_ASPNETv2040607
        , Win32_PerfFormattedData_ASPNET_ASPNET
        , Win32_PerfFormattedData_ASPNET_ASPNETApplications
        , Win32_PerfFormattedData_aspnet_state_ASPNETStateService
        , Win32_PerfFormattedData_ContentFilter_IndexingServiceFilter
        , Win32_PerfFormattedData_ContentIndex_IndexingService
        , Win32_PerfFormattedData_DTSPipeline_SQLServerDTSPipeline
        , Win32_PerfFormattedData_Fax_FaxServices
        , Win32_PerfFormattedData_InetInfo_InternetInformationServicesGlobal
        , Win32_PerfFormattedData_ISAPISearch_HttpIndexingService
        , Win32_PerfFormattedData_MSDTC_DistributedTransactionCoordinator
        , Win32_PerfFormattedData_NETCLRData_NETCLRData
        , Win32_PerfFormattedData_NETCLRNetworking_NETCLRNetworking
        , Win32_PerfFormattedData_NETDataProviderforOracle_NETCLRData
        , Win32_PerfFormattedData_NETDataProviderforSqlServer_NETDataProviderforSqlServer
        , Win32_PerfFormattedData_NETFramework_NETCLRExceptions
        , Win32_PerfFormattedData_NETFramework_NETCLRInterop
        , Win32_PerfFormattedData_NETFramework_NETCLRJit
        , Win32_PerfFormattedData_NETFramework_NETCLRLoading
        , Win32_PerfFormattedData_NETFramework_NETCLRLocksAndThreads
        , Win32_PerfFormattedData_NETFramework_NETCLRMemory
        , Win32_PerfFormattedData_NETFramework_NETCLRRemoting
        , Win32_PerfFormattedData_NETFramework_NETCLRSecurity
        , Win32_PerfFormattedData_NTFSDRV_ControladordealmacenamientoNTFSdeSMTP
        , Win32_PerfFormattedData_Outlook_Outlook
        , Win32_PerfFormattedData_PerfDisk_LogicalDisk
        , Win32_PerfFormattedData_PerfDisk_PhysicalDisk
        , Win32_PerfFormattedData_PerfNet_Browser
        , Win32_PerfFormattedData_PerfNet_Redirector
        , Win32_PerfFormattedData_PerfNet_Server
        , Win32_PerfFormattedData_PerfNet_ServerWorkQueues
        , Win32_PerfFormattedData_PerfOS_Cache
        , Win32_PerfFormattedData_PerfOS_Memory
        , Win32_PerfFormattedData_PerfOS_Objects
        , Win32_PerfFormattedData_PerfOS_PagingFile
        , Win32_PerfFormattedData_PerfOS_Processor
        , Win32_PerfFormattedData_PerfOS_System
        , Win32_PerfFormattedData_PerfProc_FullImage_Costly
        , Win32_PerfFormattedData_PerfProc_Image_Costly
        , Win32_PerfFormattedData_PerfProc_JobObject
        , Win32_PerfFormattedData_PerfProc_JobObjectDetails
        , Win32_PerfFormattedData_PerfProc_Process
        , Win32_PerfFormattedData_PerfProc_ProcessAddressSpace_Costly
        , Win32_PerfFormattedData_PerfProc_Thread
        , Win32_PerfFormattedData_PerfProc_ThreadDetails_Costly
        , Win32_PerfFormattedData_RemoteAccess_RASPort
        , Win32_PerfFormattedData_RemoteAccess_RASTotal
        , Win32_PerfFormattedData_RSVP_RSVPInterfaces
        , Win32_PerfFormattedData_RSVP_RSVPService
        , Win32_PerfFormattedData_Spooler_PrintQueue
        , Win32_PerfFormattedData_TapiSrv_Telephony
        , Win32_PerfFormattedData_Tcpip_ICMP
        , Win32_PerfFormattedData_Tcpip_IP
        , Win32_PerfFormattedData_Tcpip_NBTConnection
        , Win32_PerfFormattedData_Tcpip_NetworkInterface
        , Win32_PerfFormattedData_Tcpip_TCP
        , Win32_PerfFormattedData_Tcpip_UDP
        , Win32_PerfFormattedData_TermService_TerminalServices
        , Win32_PerfFormattedData_TermService_TerminalServicesSession
        , Win32_PerfFormattedData_W3SVC_WebService
        , Win32_PerfRawData_ASP_ActiveServerPages
        , Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322
        , Win32_PerfRawData_ASPNET_114322_ASPNETv114322
        , Win32_PerfRawData_ASPNET_2040607_ASPNETAppsv2040607
        , Win32_PerfRawData_ASPNET_2040607_ASPNETv2040607
        , Win32_PerfRawData_ASPNET_ASPNET
        , Win32_PerfRawData_ASPNET_ASPNETApplications
        , Win32_PerfRawData_aspnet_state_ASPNETStateService
        , Win32_PerfRawData_ContentFilter_IndexingServiceFilter
        , Win32_PerfRawData_ContentIndex_IndexingService
        , Win32_PerfRawData_DTSPipeline_SQLServerDTSPipeline
        , Win32_PerfRawData_Fax_FaxServices
        , Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal
        , Win32_PerfRawData_ISAPISearch_HttpIndexingService
        , Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
        , Win32_PerfRawData_NETCLRData_NETCLRData
        , Win32_PerfRawData_NETCLRNetworking_NETCLRNetworking
        , Win32_PerfRawData_NETDataProviderforOracle_NETCLRData
        , Win32_PerfRawData_NETDataProviderforSqlServer_NETDataProviderforSqlServer
        , 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_NTFSDRV_ControladordealmacenamientoNTFSdeSMTP
        , Win32_PerfRawData_Outlook_Outlook
        , Win32_PerfRawData_PerfDisk_LogicalDisk
        , 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_RSVPInterfaces
        , Win32_PerfRawData_RSVP_RSVPService
        , 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_TermService_TerminalServices
        , Win32_PerfRawData_TermService_TerminalServicesSession
        , Win32_PerfRawData_W3SVC_WebService
        , Win32_PhysicalMedia
        , Win32_PhysicalMemory
        , Win32_PhysicalMemoryArray
        , Win32_PhysicalMemoryLocation
        , Win32_PingStatus
        , Win32_PNPAllocatedResource
        , Win32_PnPDevice
        , Win32_PnPEntity
        , Win32_PnPSignedDriver
        , Win32_PnPSignedDriverCIMDataFile
        , Win32_PointingDevice
        , Win32_PortableBattery
        , Win32_PortConnector
        , Win32_PortResource
        , Win32_POTSModem
        , Win32_POTSModemToSerialPort
        , Win32_Printer
        , Win32_PrinterConfiguration
        , Win32_PrinterController
        , Win32_PrinterDriver
        , Win32_PrinterDriverDll
        , Win32_PrinterSetting
        , Win32_PrinterShare
        , Win32_PrintJob
        , Win32_Process
        , Win32_Processor
        , Win32_Product
        , Win32_ProductCheck
        , Win32_ProductResource
        , Win32_ProductSoftwareFeatures
        , Win32_ProgIDSpecification
        , Win32_ProgramGroup
        , Win32_ProgramGroupContents
        , Win32_Property
        , Win32_ProtocolBinding
        , Win32_Proxy
        , Win32_PublishComponentAction
        , Win32_QuickFixEngineering
        , Win32_QuotaSetting
        , Win32_Refrigeration
        , Win32_Registry
        , Win32_RegistryAction
        , Win32_RemoveFileAction
        , Win32_RemoveIniAction
        , Win32_ReserveCost
        , Win32_ScheduledJob
        , Win32_SCSIController
        , Win32_SCSIControllerDevice
        , Win32_SecuritySettingOfLogicalFile
        , Win32_SecuritySettingOfLogicalShare
        , Win32_SelfRegModuleAction
        , Win32_SerialPort
        , Win32_SerialPortConfiguration
        , Win32_SerialPortSetting
        , Win32_ServerConnection
        , Win32_ServerSession
        , Win32_Service
        , Win32_ServiceControl
        , Win32_ServiceSpecification
        , Win32_ServiceSpecificationService
        , Win32_SessionConnection
        , Win32_SessionProcess
        , Win32_Share
        , Win32_ShareToDirectory
        , Win32_ShortcutAction
        , Win32_ShortcutFile
        , Win32_ShortcutSAP
        , Win32_SID
        , 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_SystemNetworkConnections
        , Win32_SystemOperatingSystem
        , Win32_SystemPartitions
        , Win32_SystemProcesses
        , Win32_SystemProgramGroups
        , Win32_SystemResources
        , Win32_SystemServices
        , Win32_SystemSlot
        , Win32_SystemSystemDriver
        , Win32_SystemTimeZone
        , Win32_SystemUsers
        , Win32_TapeDrive
        , Win32_TCPIPPrinterPort
        , Win32_TemperatureProbe
        , Win32_Terminal
        , Win32_TerminalService
        , Win32_TerminalServiceSetting
        , Win32_TerminalServiceToSetting
        , Win32_TerminalTerminalSetting
        , Win32_Thread
        , Win32_TimeZone
        , Win32_TSAccount
        , Win32_TSClientSetting
        , Win32_TSEnvironmentSetting
        , Win32_TSGeneralSetting
        , Win32_TSLogonSetting
        , Win32_TSNetworkAdapterListSetting
        , Win32_TSNetworkAdapterSetting
        , Win32_TSPermissionsSetting
        , Win32_TSRemoteControlSetting
        , Win32_TSSessionDirectory
        , Win32_TSSessionDirectorySetting
        , Win32_TSSessionSetting
        , Win32_TypeLibraryAction
        , Win32_UninterruptiblePowerSupply
        , Win32_USBController
        , Win32_USBControllerDevice
        , Win32_USBHub
        , Win32_UserAccount
        , Win32_UserDesktop
        , Win32_UserInDomain
        , Win32_UTCTime
        , Win32_VideoController
        , Win32_VideoSettings
        , Win32_VoltageProbe
        , Win32_VolumeQuotaSetting
        , Win32_WindowsProductActivation
        , Win32_WMIElementSetting
        , Win32_WMISetting
    }

获取系统信息的实用程序助手类

public static class OSInfoHelper
    {
        public static string DeviceInformation(DeviceInformationEnum deviceInformationEnum, List<string> keyNames = null)
        {

            bool keyNames_exist = keyNames != null && keyNames.Count > 0;

            if (keyNames_exist)
                keyNames = keyNames.Select(x => x.ToUpper()).ToList();//create a toupper implementation

            StringBuilder StringBuilder1 = new StringBuilder(string.Empty);
            ManagementClass ManagementClass1 = new ManagementClass(deviceInformationEnum.ToString());
            //Create a ManagementObjectCollection to loop through
            ManagementObjectCollection ManagemenobjCol = ManagementClass1.GetInstances();
            //Get the properties in the class
            PropertyDataCollection properties = ManagementClass1.Properties;

            foreach (ManagementObject obj in ManagemenobjCol)
            {
                foreach (PropertyData property in properties)
                {
                    try
                    {
                        if (keyNames_exist)
                        {
                            if (keyNames.Contains(property.Name.ToUpper()))//only filer
                            {
                                StringBuilder1.AppendLine(SplitCamelCase(property.Name) + ":  " +
                              obj.Properties[property.Name].Value.ToString());//could possibly make this a method
                            }
                        }
                        else
                        {
                            StringBuilder1.AppendLine(property.Name + ":  " +
                              obj.Properties[property.Name].Value.ToString());
                        }
                    }
                    catch
                    {
                        //Add codes to manage more informations
                    }
                }
                StringBuilder1.AppendLine();
            }
            return StringBuilder1.ToString();
        }
}

您可以使用上面的代码

OSInfoHelper.DeviceInformation(DeviceInformationEnum.Win32_Processor, new List<string>{"Name", "CurrentClockSpeed",
                "NumberOfCores", "NumberOfCores","NumberOfEnabledCore","NumberOfLogicalProcessors" });

项目列表是您要为特定 WMI 对象检索的特定项目

foreach (ManagementObject obj in ManagemenobjCol)
    {
        foreach (PropertyData property in properties)
        {
            try
            {
                StringBuilder1.AppendLine(property.Name + ":  " + 
                  obj.Properties[property.Name].Value.ToString());
            }
            catch
            {
                //Add codes to manage more informations
            }
        }
        StringBuilder1.AppendLine();
    }

上面的代码是您需要找出可用于字符串 List of Items 的选项。


推荐阅读