ManagementObjectSearcher mos = new ManagementObjectSearcher("select * from Win32_Processor");
Öncelikle yukarıdaki kod ile sorgumuzu belirterek bir ManagementObjectSearcher nesnesi örnekliyoruz. Sonrasında aşağıdaki şekilde örneklediğimiz nesne üzerinden Get methodunu çağırarak sorgumuzu çalıştırıyoruz ve Get methodundan geriye dönen donanım bilgisini ManagementObjectCollection tipinden bir değişken ile karşılıyoruz.
ManagementObjectCollection mocol = mos.Get();
Nesne üzerindeki belli bir bilgiyi elde etmek istediğimizde, elimizdeki kolleksiyon için bir döngü hazırlarız ve döngü içerisinde her bir ManagementObject nesnesine ait işlem gerçekleştirebiliriz. Aradığımız bilginin hangi property üzerinde yer aldığını biliyorsak aşağıdaki gibi bir kullanımla, ilgili property'ye ait değeri elde edebiliriz.
foreach(ManagementObject mo in mocol)
{
Console.WriteLine(mo.Properties["ProcessorId"].Value);
}
Eğer belli bir bilgi değil de nesneye ait tüm bilgileri elde etmek istiyorsak ve bilgilerin hangi property'ler üzerinde yer aldıklarını bilmiyorsak, aşağıdaki gibi bir kullanımla nesnenin properties kolleksiyonunda dönerek PropertyData tipinden her bir üye için Name ve Value değerlerini elde edip işlem gerçekleştirebiliriz.
foreach(ManagementObject mo in mocol)
{
foreach(PropertyData pd in mo.Properties)
{
Console.WriteLine(string.Format("{0}: {1}", pd.Name,pd.Value ));
}
}
Eğitim Teknolojileri Uzmanı, Eğitim Danışmanı, BTK Akademi Eğitmeni, Microsoft Açık Akademi, Vakademi Eğitmeni, Udemy Eğitmeni, Abaküs Kitap Yazarı, Python, C#, SQL Server, ADO.NET EF, WinForms, ASP.NET, Visual Studio, Amiga, Commodore 64
WMI etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
WMI etiketine sahip kayıtlar gösteriliyor. Tüm kayıtları göster
26 Temmuz 2009 Pazar
25 Temmuz 2009 Cumartesi
ManagementObjectSearcher ile kullanılabilecek standard WMI sorguları
ManagementObjectSearcher searcher = new ManagementObjectSearcher("sorgu");
Yukarıdaki örnekteki sorgu yerine uygun sorguyu yazmanız gerekiyor.
Örneğin; CPU ile ilgili bilgileri elde etmek için "select * from Win32_Processor" yazmalısınız.
Kullanabileceğiniz diğer sorgular aşağıda listelenmiştir.
select * from Win32_1394Controller
select * from Win32_1394ControllerDevice
select * from Win32_Account
select * from Win32_AccountSID
select * from Win32_ACE
select * from Win32_ActionCheck
select * from Win32_AllocatedResource
select * from Win32_ApplicationCommandLine
select * from Win32_ApplicationService
select * from Win32_AssociatedBattery
select * from Win32_AssociatedProcessorMemory
select * from Win32_BaseBoard
select * from Win32_BaseService
select * from Win32_Battery
select * from Win32_Binary
select * from Win32_BindImageAction
select * from Win32_BIOS
select * from Win32_BootConfiguration
select * from Win32_Bus
select * from Win32_CacheMemory
select * from Win32_CDROMDrive
select * from Win32_CheckCheck
select * from Win32_CIMLogicalDeviceCIMDataFile
select * from Win32_ClassicCOMApplicationClasses
select * from Win32_ClassicCOMClass
select * from Win32_ClassicCOMClassSetting
select * from Win32_ClassicCOMClassSettings
select * from Win32_ClassInfoAction
select * from Win32_ClientApplicationSetting
select * from Win32_CodecFile
select * from Win32_COMApplication
select * from Win32_COMApplicationClasses
select * from Win32_COMApplicationSettings
select * from Win32_COMClass
select * from Win32_ComClassAutoEmulator
select * from Win32_ComClassEmulator
select * from Win32_CommandLineAccess
select * from Win32_ComponentCategory
select * from Win32_ComputerSystem
select * from Win32_ComputerSystemProcessor
select * from Win32_ComputerSystemProduct
select * from Win32_COMSetting
select * from Win32_Condition
select * from Win32_CreateFolderAction
select * from Win32_CurrentProbe
select * from Win32_DCOMApplication
select * from Win32_DCOMApplicationAccessAllowedSetting
select * from Win32_DCOMApplicationLaunchAllowedSetting
select * from Win32_DCOMApplicationSetting
select * from Win32_DependentService
select * from Win32_Desktop
select * from Win32_DesktopMonitor
select * from Win32_DeviceBus
select * from Win32_DeviceMemoryAddress
select * from Win32_DeviceSettings
select * from Win32_Directory
select * from Win32_DirectorySpecification
select * from Win32_DiskDrive
select * from Win32_DiskDriveToDiskPartition
select * from Win32_DiskPartition
select * from Win32_DisplayConfiguration
select * from Win32_DisplayControllerConfiguration
select * from Win32_DMAChannel
select * from Win32_DriverVXD
select * from Win32_DuplicateFileAction
select * from Win32_Environment
select * from Win32_EnvironmentSpecification
select * from Win32_ExtensionInfoAction
select * from Win32_Fan
select * from Win32_FileSpecification
select * from Win32_FloppyController
select * from Win32_FloppyDrive
select * from Win32_FontInfoAction
select * from Win32_Group
select * from Win32_GroupUser
select * from Win32_HeatPipe
select * from Win32_IDEController
select * from Win32_IDEControllerDevice
select * from Win32_ImplementedCategory
select * from Win32_InfraredDevice
select * from Win32_IniFileSpecification
select * from Win32_InstalledSoftwareElement
select * from Win32_IRQResource
select * from Win32_Keyboard
select * from Win32_LaunchCondition
select * from Win32_LoadOrderGroup
select * from Win32_LoadOrderGroupServiceDependencies
select * from Win32_LoadOrderGroupServiceMembers
select * from Win32_LogicalDisk
select * from Win32_LogicalDiskRootDirectory
select * from Win32_LogicalDiskToPartition
select * from Win32_LogicalFileAccess
select * from Win32_LogicalFileAuditing
select * from Win32_LogicalFileGroup
select * from Win32_LogicalFileOwner
select * from Win32_LogicalFileSecuritySetting
select * from Win32_LogicalMemoryConfiguration
select * from Win32_LogicalProgramGroup
select * from Win32_LogicalProgramGroupDirectory
select * from Win32_LogicalProgramGroupItem
select * from Win32_LogicalProgramGroupItemDataFile
select * from Win32_LogicalShareAccess
select * from Win32_LogicalShareAuditing
select * from Win32_LogicalShareSecuritySetting
select * from Win32_ManagedSystemElementResource
select * from Win32_MemoryArray
select * from Win32_MemoryArrayLocation
select * from Win32_MemoryDevice
select * from Win32_MemoryDeviceArray
select * from Win32_MemoryDeviceLocation
select * from Win32_MethodParameterClass
select * from Win32_MIMEInfoAction
select * from Win32_MotherboardDevice
select * from Win32_MoveFileAction
select * from Win32_MSIResource
select * from Win32_NetworkAdapter
select * from Win32_NetworkAdapterConfiguration
select * from Win32_NetworkAdapterSetting
select * from Win32_NetworkClient
select * from Win32_NetworkConnection
select * from Win32_NetworkLoginProfile
select * from Win32_NetworkProtocol
select * from Win32_NTEventlogFile
select * from Win32_NTLogEvent
select * from Win32_NTLogEventComputer
select * from Win32_NTLogEventLog
select * from Win32_NTLogEventUser
select * from Win32_ODBCAttribute
select * from Win32_ODBCDataSourceAttribute
select * from Win32_ODBCDataSourceSpecification
select * from Win32_ODBCDriverAttribute
select * from Win32_ODBCDriverSoftwareElement
select * from Win32_ODBCDriverSpecification
select * from Win32_ODBCSourceAttribute
select * from Win32_ODBCTranslatorSpecification
select * from Win32_OnBoardDevice
select * from Win32_OperatingSystem
select * from Win32_OperatingSystemQFE
select * from Win32_OSRecoveryConfiguration
select * from Win32_PageFile
select * from Win32_PageFileElementSetting
select * from Win32_PageFileSetting
select * from Win32_PageFileUsage
select * from Win32_ParallelPort
select * from Win32_Patch
select * from Win32_PatchFile
select * from Win32_PatchPackage
select * from Win32_PCMCIAController
select * from Win32_Perf
select * from Win32_PerfRawData
select * from Win32_PerfRawData_ASP_ActiveServerPages
select * from Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322
select * from Win32_PerfRawData_ASPNET_114322_ASPNETv114322
select * from Win32_PerfRawData_ASPNET_ASPNET
select * from Win32_PerfRawData_ASPNET_ASPNETApplications
select * from Win32_PerfRawData_IAS_IASAccountingClients
select * from Win32_PerfRawData_IAS_IASAccountingServer
select * from Win32_PerfRawData_IAS_IASAuthenticationClients
select * from Win32_PerfRawData_IAS_IASAuthenticationServer
select * from Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal
select * from Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
select * from Win32_PerfRawData_MSFTPSVC_FTPService
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerLatches
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerLocks
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable
select * from Win32_PerfRawData_NETFramework_NETCLRExceptions
select * from Win32_PerfRawData_NETFramework_NETCLRInterop
select * from Win32_PerfRawData_NETFramework_NETCLRJit
select * from Win32_PerfRawData_NETFramework_NETCLRLoading
select * from Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads
select * from Win32_PerfRawData_NETFramework_NETCLRMemory
select * from Win32_PerfRawData_NETFramework_NETCLRRemoting
select * from Win32_PerfRawData_NETFramework_NETCLRSecurity
select * from Win32_PerfRawData_Outlook_Outlook
select * from Win32_PerfRawData_PerfDisk_PhysicalDisk
select * from Win32_PerfRawData_PerfNet_Browser
select * from Win32_PerfRawData_PerfNet_Redirector
select * from Win32_PerfRawData_PerfNet_Server
select * from Win32_PerfRawData_PerfNet_ServerWorkQueues
select * from Win32_PerfRawData_PerfOS_Cache
select * from Win32_PerfRawData_PerfOS_Memory
select * from Win32_PerfRawData_PerfOS_Objects
select * from Win32_PerfRawData_PerfOS_PagingFile
select * from Win32_PerfRawData_PerfOS_Processor
select * from Win32_PerfRawData_PerfOS_System
select * from Win32_PerfRawData_PerfProc_FullImage_Costly
select * from Win32_PerfRawData_PerfProc_Image_Costly
select * from Win32_PerfRawData_PerfProc_JobObject
select * from Win32_PerfRawData_PerfProc_JobObjectDetails
select * from Win32_PerfRawData_PerfProc_Process
select * from Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
select * from Win32_PerfRawData_PerfProc_Thread
select * from Win32_PerfRawData_PerfProc_ThreadDetails_Costly
select * from Win32_PerfRawData_RemoteAccess_RASPort
select * from Win32_PerfRawData_RemoteAccess_RASTotal
select * from Win32_PerfRawData_RSVP_ACSPerRSVPService
select * from Win32_PerfRawData_Spooler_PrintQueue
select * from Win32_PerfRawData_TapiSrv_Telephony
select * from Win32_PerfRawData_Tcpip_ICMP
select * from Win32_PerfRawData_Tcpip_IP
select * from Win32_PerfRawData_Tcpip_NBTConnection
select * from Win32_PerfRawData_Tcpip_NetworkInterface
select * from Win32_PerfRawData_Tcpip_TCP
select * from Win32_PerfRawData_Tcpip_UDP
select * from Win32_PerfRawData_W3SVC_WebService
select * from Win32_PhysicalMemory
select * from Win32_PhysicalMemoryArray
select * from Win32_PhysicalMemoryLocation
select * from Win32_PNPAllocatedResource
select * from Win32_PnPDevice
select * from Win32_PnPEntity
select * from Win32_PointingDevice
select * from Win32_PortableBattery
select * from Win32_PortConnector
select * from Win32_PortResource
select * from Win32_POTSModem
select * from Win32_POTSModemToSerialPort
select * from Win32_PowerManagementEvent
select * from Win32_Printer
select * from Win32_PrinterConfiguration
select * from Win32_PrinterController
select * from Win32_PrinterDriverDll
select * from Win32_PrinterSetting
select * from Win32_PrinterShare
select * from Win32_PrintJob
select * from Win32_PrivilegesStatus
select * from Win32_Process
select * from Win32_Processor
select * from Win32_ProcessStartup
select * from Win32_Product
select * from Win32_ProductCheck
select * from Win32_ProductResource
select * from Win32_ProductSoftwareFeatures
select * from Win32_ProgIDSpecification
select * from Win32_ProgramGroup
select * from Win32_ProgramGroupContents
select * from Win32_ProgramGroupOrItem
select * from Win32_Property
select * from Win32_ProtocolBinding
select * from Win32_PublishComponentAction
select * from Win32_QuickFixEngineering
select * from Win32_Refrigeration
select * from Win32_Registry
select * from Win32_RegistryAction
select * from Win32_RemoveFileAction
select * from Win32_RemoveIniAction
select * from Win32_ReserveCost
select * from Win32_ScheduledJob
select * from Win32_SCSIController
select * from Win32_SCSIControllerDevice
select * from Win32_SecurityDescriptor
select * from Win32_SecuritySetting
select * from Win32_SecuritySettingAccess
select * from Win32_SecuritySettingAuditing
select * from Win32_SecuritySettingGroup
select * from Win32_SecuritySettingOfLogicalFile
select * from Win32_SecuritySettingOfLogicalShare
select * from Win32_SecuritySettingOfObject
select * from Win32_SecuritySettingOwner
select * from Win32_SelfRegModuleAction
select * from Win32_SerialPort
select * from Win32_SerialPortConfiguration
select * from Win32_SerialPortSetting
select * from Win32_Service
select * from Win32_ServiceControl
select * from Win32_ServiceSpecification
select * from Win32_ServiceSpecificationService
select * from Win32_SettingCheck
select * from Win32_Share
select * from Win32_ShareToDirectory
select * from Win32_ShortcutAction
select * from Win32_ShortcutFile
select * from Win32_ShortcutSAP
select * from Win32_SID
select * from Win32_SMBIOSMemory
select * from Win32_SoftwareElement
select * from Win32_SoftwareElementAction
select * from Win32_SoftwareElementCheck
select * from Win32_SoftwareElementCondition
select * from Win32_SoftwareElementResource
select * from Win32_SoftwareFeature
select * from Win32_SoftwareFeatureAction
select * from Win32_SoftwareFeatureCheck
select * from Win32_SoftwareFeatureParent
select * from Win32_SoftwareFeatureSoftwareElements
select * from Win32_SoundDevice
select * from Win32_StartupCommand
select * from Win32_SubDirectory
select * from Win32_SystemAccount
select * from Win32_SystemBIOS
select * from Win32_SystemBootConfiguration
select * from Win32_SystemDesktop
select * from Win32_SystemDevices
select * from Win32_SystemDriver
select * from Win32_SystemDriverPNPEntity
select * from Win32_SystemEnclosure
select * from Win32_SystemLoadOrderGroups
select * from Win32_SystemLogicalMemoryConfiguration
select * from Win32_SystemMemoryResource
select * from Win32_SystemNetworkConnections
select * from Win32_SystemOperatingSystem
select * from Win32_SystemPartitions
select * from Win32_SystemProcesses
select * from Win32_SystemProgramGroups
select * from Win32_SystemResources
select * from Win32_SystemServices
select * from Win32_SystemSetting
select * from Win32_SystemSlot
select * from Win32_SystemSystemDriver
select * from Win32_SystemTimeZone
select * from Win32_SystemUsers
select * from Win32_TapeDrive
select * from Win32_TemperatureProbe
select * from Win32_Thread
select * from Win32_TimeZone
select * from Win32_Trustee
select * from Win32_TypeLibraryAction
select * from Win32_UninterruptiblePowerSupply
select * from Win32_USBController
select * from Win32_USBControllerDevice
select * from Win32_UserAccount
select * from Win32_UserDesktop
select * from Win32_VideoConfiguration
select * from Win32_VideoController
select * from Win32_VideoSettings
select * from Win32_VoltageProbe
select * from Win32_WMIElementSetting
select * from Win32_WMISetting
Yukarıdaki örnekteki sorgu yerine uygun sorguyu yazmanız gerekiyor.
Örneğin; CPU ile ilgili bilgileri elde etmek için "select * from Win32_Processor" yazmalısınız.
Kullanabileceğiniz diğer sorgular aşağıda listelenmiştir.
select * from Win32_1394Controller
select * from Win32_1394ControllerDevice
select * from Win32_Account
select * from Win32_AccountSID
select * from Win32_ACE
select * from Win32_ActionCheck
select * from Win32_AllocatedResource
select * from Win32_ApplicationCommandLine
select * from Win32_ApplicationService
select * from Win32_AssociatedBattery
select * from Win32_AssociatedProcessorMemory
select * from Win32_BaseBoard
select * from Win32_BaseService
select * from Win32_Battery
select * from Win32_Binary
select * from Win32_BindImageAction
select * from Win32_BIOS
select * from Win32_BootConfiguration
select * from Win32_Bus
select * from Win32_CacheMemory
select * from Win32_CDROMDrive
select * from Win32_CheckCheck
select * from Win32_CIMLogicalDeviceCIMDataFile
select * from Win32_ClassicCOMApplicationClasses
select * from Win32_ClassicCOMClass
select * from Win32_ClassicCOMClassSetting
select * from Win32_ClassicCOMClassSettings
select * from Win32_ClassInfoAction
select * from Win32_ClientApplicationSetting
select * from Win32_CodecFile
select * from Win32_COMApplication
select * from Win32_COMApplicationClasses
select * from Win32_COMApplicationSettings
select * from Win32_COMClass
select * from Win32_ComClassAutoEmulator
select * from Win32_ComClassEmulator
select * from Win32_CommandLineAccess
select * from Win32_ComponentCategory
select * from Win32_ComputerSystem
select * from Win32_ComputerSystemProcessor
select * from Win32_ComputerSystemProduct
select * from Win32_COMSetting
select * from Win32_Condition
select * from Win32_CreateFolderAction
select * from Win32_CurrentProbe
select * from Win32_DCOMApplication
select * from Win32_DCOMApplicationAccessAllowedSetting
select * from Win32_DCOMApplicationLaunchAllowedSetting
select * from Win32_DCOMApplicationSetting
select * from Win32_DependentService
select * from Win32_Desktop
select * from Win32_DesktopMonitor
select * from Win32_DeviceBus
select * from Win32_DeviceMemoryAddress
select * from Win32_DeviceSettings
select * from Win32_Directory
select * from Win32_DirectorySpecification
select * from Win32_DiskDrive
select * from Win32_DiskDriveToDiskPartition
select * from Win32_DiskPartition
select * from Win32_DisplayConfiguration
select * from Win32_DisplayControllerConfiguration
select * from Win32_DMAChannel
select * from Win32_DriverVXD
select * from Win32_DuplicateFileAction
select * from Win32_Environment
select * from Win32_EnvironmentSpecification
select * from Win32_ExtensionInfoAction
select * from Win32_Fan
select * from Win32_FileSpecification
select * from Win32_FloppyController
select * from Win32_FloppyDrive
select * from Win32_FontInfoAction
select * from Win32_Group
select * from Win32_GroupUser
select * from Win32_HeatPipe
select * from Win32_IDEController
select * from Win32_IDEControllerDevice
select * from Win32_ImplementedCategory
select * from Win32_InfraredDevice
select * from Win32_IniFileSpecification
select * from Win32_InstalledSoftwareElement
select * from Win32_IRQResource
select * from Win32_Keyboard
select * from Win32_LaunchCondition
select * from Win32_LoadOrderGroup
select * from Win32_LoadOrderGroupServiceDependencies
select * from Win32_LoadOrderGroupServiceMembers
select * from Win32_LogicalDisk
select * from Win32_LogicalDiskRootDirectory
select * from Win32_LogicalDiskToPartition
select * from Win32_LogicalFileAccess
select * from Win32_LogicalFileAuditing
select * from Win32_LogicalFileGroup
select * from Win32_LogicalFileOwner
select * from Win32_LogicalFileSecuritySetting
select * from Win32_LogicalMemoryConfiguration
select * from Win32_LogicalProgramGroup
select * from Win32_LogicalProgramGroupDirectory
select * from Win32_LogicalProgramGroupItem
select * from Win32_LogicalProgramGroupItemDataFile
select * from Win32_LogicalShareAccess
select * from Win32_LogicalShareAuditing
select * from Win32_LogicalShareSecuritySetting
select * from Win32_ManagedSystemElementResource
select * from Win32_MemoryArray
select * from Win32_MemoryArrayLocation
select * from Win32_MemoryDevice
select * from Win32_MemoryDeviceArray
select * from Win32_MemoryDeviceLocation
select * from Win32_MethodParameterClass
select * from Win32_MIMEInfoAction
select * from Win32_MotherboardDevice
select * from Win32_MoveFileAction
select * from Win32_MSIResource
select * from Win32_NetworkAdapter
select * from Win32_NetworkAdapterConfiguration
select * from Win32_NetworkAdapterSetting
select * from Win32_NetworkClient
select * from Win32_NetworkConnection
select * from Win32_NetworkLoginProfile
select * from Win32_NetworkProtocol
select * from Win32_NTEventlogFile
select * from Win32_NTLogEvent
select * from Win32_NTLogEventComputer
select * from Win32_NTLogEventLog
select * from Win32_NTLogEventUser
select * from Win32_ODBCAttribute
select * from Win32_ODBCDataSourceAttribute
select * from Win32_ODBCDataSourceSpecification
select * from Win32_ODBCDriverAttribute
select * from Win32_ODBCDriverSoftwareElement
select * from Win32_ODBCDriverSpecification
select * from Win32_ODBCSourceAttribute
select * from Win32_ODBCTranslatorSpecification
select * from Win32_OnBoardDevice
select * from Win32_OperatingSystem
select * from Win32_OperatingSystemQFE
select * from Win32_OSRecoveryConfiguration
select * from Win32_PageFile
select * from Win32_PageFileElementSetting
select * from Win32_PageFileSetting
select * from Win32_PageFileUsage
select * from Win32_ParallelPort
select * from Win32_Patch
select * from Win32_PatchFile
select * from Win32_PatchPackage
select * from Win32_PCMCIAController
select * from Win32_Perf
select * from Win32_PerfRawData
select * from Win32_PerfRawData_ASP_ActiveServerPages
select * from Win32_PerfRawData_ASPNET_114322_ASPNETAppsv114322
select * from Win32_PerfRawData_ASPNET_114322_ASPNETv114322
select * from Win32_PerfRawData_ASPNET_ASPNET
select * from Win32_PerfRawData_ASPNET_ASPNETApplications
select * from Win32_PerfRawData_IAS_IASAccountingClients
select * from Win32_PerfRawData_IAS_IASAccountingServer
select * from Win32_PerfRawData_IAS_IASAuthenticationClients
select * from Win32_PerfRawData_IAS_IASAuthenticationServer
select * from Win32_PerfRawData_InetInfo_InternetInformationServicesGlobal
select * from Win32_PerfRawData_MSDTC_DistributedTransactionCoordinator
select * from Win32_PerfRawData_MSFTPSVC_FTPService
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerAccessMethods
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBackupDevice
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBufferManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerBufferPartition
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerCacheManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerDatabases
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerGeneralStatistics
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerLatches
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerLocks
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerMemoryManager
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationAgents
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationDist
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationLogreader
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationMerge
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerReplicationSnapshot
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerSQLStatistics
select * from Win32_PerfRawData_MSSQLSERVER_SQLServerUserSettable
select * from Win32_PerfRawData_NETFramework_NETCLRExceptions
select * from Win32_PerfRawData_NETFramework_NETCLRInterop
select * from Win32_PerfRawData_NETFramework_NETCLRJit
select * from Win32_PerfRawData_NETFramework_NETCLRLoading
select * from Win32_PerfRawData_NETFramework_NETCLRLocksAndThreads
select * from Win32_PerfRawData_NETFramework_NETCLRMemory
select * from Win32_PerfRawData_NETFramework_NETCLRRemoting
select * from Win32_PerfRawData_NETFramework_NETCLRSecurity
select * from Win32_PerfRawData_Outlook_Outlook
select * from Win32_PerfRawData_PerfDisk_PhysicalDisk
select * from Win32_PerfRawData_PerfNet_Browser
select * from Win32_PerfRawData_PerfNet_Redirector
select * from Win32_PerfRawData_PerfNet_Server
select * from Win32_PerfRawData_PerfNet_ServerWorkQueues
select * from Win32_PerfRawData_PerfOS_Cache
select * from Win32_PerfRawData_PerfOS_Memory
select * from Win32_PerfRawData_PerfOS_Objects
select * from Win32_PerfRawData_PerfOS_PagingFile
select * from Win32_PerfRawData_PerfOS_Processor
select * from Win32_PerfRawData_PerfOS_System
select * from Win32_PerfRawData_PerfProc_FullImage_Costly
select * from Win32_PerfRawData_PerfProc_Image_Costly
select * from Win32_PerfRawData_PerfProc_JobObject
select * from Win32_PerfRawData_PerfProc_JobObjectDetails
select * from Win32_PerfRawData_PerfProc_Process
select * from Win32_PerfRawData_PerfProc_ProcessAddressSpace_Costly
select * from Win32_PerfRawData_PerfProc_Thread
select * from Win32_PerfRawData_PerfProc_ThreadDetails_Costly
select * from Win32_PerfRawData_RemoteAccess_RASPort
select * from Win32_PerfRawData_RemoteAccess_RASTotal
select * from Win32_PerfRawData_RSVP_ACSPerRSVPService
select * from Win32_PerfRawData_Spooler_PrintQueue
select * from Win32_PerfRawData_TapiSrv_Telephony
select * from Win32_PerfRawData_Tcpip_ICMP
select * from Win32_PerfRawData_Tcpip_IP
select * from Win32_PerfRawData_Tcpip_NBTConnection
select * from Win32_PerfRawData_Tcpip_NetworkInterface
select * from Win32_PerfRawData_Tcpip_TCP
select * from Win32_PerfRawData_Tcpip_UDP
select * from Win32_PerfRawData_W3SVC_WebService
select * from Win32_PhysicalMemory
select * from Win32_PhysicalMemoryArray
select * from Win32_PhysicalMemoryLocation
select * from Win32_PNPAllocatedResource
select * from Win32_PnPDevice
select * from Win32_PnPEntity
select * from Win32_PointingDevice
select * from Win32_PortableBattery
select * from Win32_PortConnector
select * from Win32_PortResource
select * from Win32_POTSModem
select * from Win32_POTSModemToSerialPort
select * from Win32_PowerManagementEvent
select * from Win32_Printer
select * from Win32_PrinterConfiguration
select * from Win32_PrinterController
select * from Win32_PrinterDriverDll
select * from Win32_PrinterSetting
select * from Win32_PrinterShare
select * from Win32_PrintJob
select * from Win32_PrivilegesStatus
select * from Win32_Process
select * from Win32_Processor
select * from Win32_ProcessStartup
select * from Win32_Product
select * from Win32_ProductCheck
select * from Win32_ProductResource
select * from Win32_ProductSoftwareFeatures
select * from Win32_ProgIDSpecification
select * from Win32_ProgramGroup
select * from Win32_ProgramGroupContents
select * from Win32_ProgramGroupOrItem
select * from Win32_Property
select * from Win32_ProtocolBinding
select * from Win32_PublishComponentAction
select * from Win32_QuickFixEngineering
select * from Win32_Refrigeration
select * from Win32_Registry
select * from Win32_RegistryAction
select * from Win32_RemoveFileAction
select * from Win32_RemoveIniAction
select * from Win32_ReserveCost
select * from Win32_ScheduledJob
select * from Win32_SCSIController
select * from Win32_SCSIControllerDevice
select * from Win32_SecurityDescriptor
select * from Win32_SecuritySetting
select * from Win32_SecuritySettingAccess
select * from Win32_SecuritySettingAuditing
select * from Win32_SecuritySettingGroup
select * from Win32_SecuritySettingOfLogicalFile
select * from Win32_SecuritySettingOfLogicalShare
select * from Win32_SecuritySettingOfObject
select * from Win32_SecuritySettingOwner
select * from Win32_SelfRegModuleAction
select * from Win32_SerialPort
select * from Win32_SerialPortConfiguration
select * from Win32_SerialPortSetting
select * from Win32_Service
select * from Win32_ServiceControl
select * from Win32_ServiceSpecification
select * from Win32_ServiceSpecificationService
select * from Win32_SettingCheck
select * from Win32_Share
select * from Win32_ShareToDirectory
select * from Win32_ShortcutAction
select * from Win32_ShortcutFile
select * from Win32_ShortcutSAP
select * from Win32_SID
select * from Win32_SMBIOSMemory
select * from Win32_SoftwareElement
select * from Win32_SoftwareElementAction
select * from Win32_SoftwareElementCheck
select * from Win32_SoftwareElementCondition
select * from Win32_SoftwareElementResource
select * from Win32_SoftwareFeature
select * from Win32_SoftwareFeatureAction
select * from Win32_SoftwareFeatureCheck
select * from Win32_SoftwareFeatureParent
select * from Win32_SoftwareFeatureSoftwareElements
select * from Win32_SoundDevice
select * from Win32_StartupCommand
select * from Win32_SubDirectory
select * from Win32_SystemAccount
select * from Win32_SystemBIOS
select * from Win32_SystemBootConfiguration
select * from Win32_SystemDesktop
select * from Win32_SystemDevices
select * from Win32_SystemDriver
select * from Win32_SystemDriverPNPEntity
select * from Win32_SystemEnclosure
select * from Win32_SystemLoadOrderGroups
select * from Win32_SystemLogicalMemoryConfiguration
select * from Win32_SystemMemoryResource
select * from Win32_SystemNetworkConnections
select * from Win32_SystemOperatingSystem
select * from Win32_SystemPartitions
select * from Win32_SystemProcesses
select * from Win32_SystemProgramGroups
select * from Win32_SystemResources
select * from Win32_SystemServices
select * from Win32_SystemSetting
select * from Win32_SystemSlot
select * from Win32_SystemSystemDriver
select * from Win32_SystemTimeZone
select * from Win32_SystemUsers
select * from Win32_TapeDrive
select * from Win32_TemperatureProbe
select * from Win32_Thread
select * from Win32_TimeZone
select * from Win32_Trustee
select * from Win32_TypeLibraryAction
select * from Win32_UninterruptiblePowerSupply
select * from Win32_USBController
select * from Win32_USBControllerDevice
select * from Win32_UserAccount
select * from Win32_UserDesktop
select * from Win32_VideoConfiguration
select * from Win32_VideoController
select * from Win32_VideoSettings
select * from Win32_VoltageProbe
select * from Win32_WMIElementSetting
select * from Win32_WMISetting
Labels:
.NET,
C#,
Programlama,
WMI
21 Temmuz 2009 Salı
HDD Seri Numarasını Elde Etmek (C# - WMI)
![]() |
| HDD |
HDD: Hard Disk Drive
WMI: Windows Management Instrumentation
HardDisk üreticisi tarafından, HardDisk'e atanmış olan seri numarasını elde etmek için WMI kullanabiliriz. Bir Windows Bileşeni olan WMI, sadece HDD değil, tüm donanım ile ilgili bilgiler elde etmemizi sağlayan bir yapıdır, içerisinde Win32, Registry, System gibi class'lar ve IIS, Active Directory, DNS gibi provider'lar barındırır. WMI Class'ları ve WMI Provider'ları ile ilgili detaylı bilgiyi WMI Reference üzerinde bulabilirsiniz.
.NET Framework içerisindeki System.Management namespace'i altındaki üyeler kullanılarak WMI işlemleri gerçekleştirilebilir. HardDisk bilgilerini sorgulamak için Win32_DiskDrive ve Win32_PhysicalMedia sınıfları kullanılır. System.Management namespace'i ile ilgili ayrıntılara bu adres üzerinden ulaşabilirsiniz.
msdn Magazine içerisinde yayınlanmış olan WMI and .NET başlıklı makaleyi de bu link üzerinden okuyabilirsiniz.
Bu kadar giriş bilgisinden sonra gelelim HardDisk'imizin seri numarasına nasıl ulaşacağımıza. Bunu yapmak için öncelikle proje referanslarımıza System.Management eklenmeli, ardından da kodumuza using System.Management; ifadesi ile gerekli olan namespace'i eklemeliyiz. WMI içerisindeki Win32_PhysicalMedia sınıfı istediğimiz seri numarasına ulaşmamızı sağlayacak. İstersek HardDisk model ve tip bilgilerine ulaşmak için de Win32_DiskDrive sınıfını kullanabiliriz.
Öncelikle bilgisayarımızdaki fiziksel disklerin seri numaralarını kolleksiyon olarak elde etmemizi sağlayacak bir method yazalım.
public static List<string>
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_PhysicalMedia");
ManagementObjectCollection disks = searcher.Get();
foreach(ManagementObject disk in disks)
{
if (disk["SerialNumber"] == null)
serials.Add("");
else
serials.Add(disk["SerialNumber"].ToString());
}
return serials;
}
Yukarıdaki kod bloğunda öncelikle tespit edilecek olan seri numaralarını depolamak üzere generic bir string kolleksiyonu hazırlanıyor. Ardından basit bir select ifadesi kullanılarak ManagementObjectSearcher nesnesi örnekleniyor. Sonrasında, bu nesnenin Get isimli methodu kullanılarak fiziksel disklerin nesne örnekleri bir kolleksiyon olarak alınıyor. Son adımda ise yaptığımıız şey eldeki kolleksiyonda dönerek her bir diskin seri numarasını elimizdeki string kolleksiyonuna eklemek. En son olarak da elimizde bulunan seri numaralarını barındıran string kolleksiyonunu methoddan geri döndürüyoruz.
Aşağıdaki method içerisindeki kod bloğu ise farklı bir WMI sınıfına select atıyor ve bilgisayarımızdaki HardDisklerin tip ve model bilgilerini Console ekranına yazdırıyor.
public static void DisplayHDDInfo()
{
ManagementObjectSearcher searcher = new ManagementObjectSearcher("SELECT * FROM Win32_DiskDrive");
foreach(ManagementObject disk in searcher.Get())
{
Console.WriteLine("Model: {0} , InterfaceType: {1}", disk["Model"], disk["InterfaceType"]);
}
}
Bilgisayarımızdaki harddisklere ait seri numarası, model ve tip gibi bilgileri nasıl elde edebileceğimizi basit birer method ile ele aldık. Artık, elde edilen bilgiler ile istediğiniz işlemi gerçekleştirebilirsiniz. Hepinize kolay gelsin.
Labels:
.NET,
.NET Framework,
C#,
WMI
Kaydol:
Kayıtlar (Atom)
