WMI: Win32_DiskDrive (Speicherzuordnungsadresse abrufen) an Win32_DeviceMemoryAddress?

657
Sarah Weinberger

Wie kann ich die durch den Speicher zugeordnete Geräteadresse für ein Festplattenlaufwerk abrufen, die mit einer von ...

PS C:\WINDOWS\system32> gwmi Win32_DiskDrive | fl * 

ich kann nutzen

PS C:\WINDOWS\system32> gwmi Win32_DeviceMemoryAddress | fl * 

Dieser Befehl listet die Speicheradressen der Geräteadressen auf, ich sehe jedoch nichts, was sich mit der Win32_DiskDrive überschneidet.

Ja, ich bin neu bei gwmi. Ich kenne die Grundlagen, vielleicht ist es möglich.

Wie erhalte ich die speicherzugeordnete Geräteadresse für ein bestimmtes Festplattenlaufwerk, sagen Sie Folgendes:

PSComputerName : JMR-ENG-SARAH ConfigManagerErrorCode : 0 LastErrorCode : NeedsCleaning : Status : OK DeviceID : \\.\PHYSICALDRIVE1 StatusInfo : Partitions : 2 BytesPerSector : 512 ConfigManagerUserConfig : False DefaultBlockSize : Index : 1 InstallDate : InterfaceType : SCSI MaxBlockSize : MaxMediaSize : MinBlockSize : NumberOfMediaSupported : SectorsPerTrack : 63 Size : 512105932800 TotalCylinders : 62260 TotalHeads : 255 TotalSectors : 1000206900 TotalTracks : 15876300 TracksPerCylinder : 255 __GENUS : 2 __CLASS : Win32_DiskDrive __SUPERCLASS : CIM_DiskDrive __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE1" __PROPERTY_COUNT : 51 __DERIVATION :  __SERVER : JMR-ENG-SARAH __NAMESPACE : root\cimv2 __PATH : \\JMR-ENG-SARAH\root\cimv2:Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE1" Availability : Capabilities :  CapabilityDescriptions :  Caption : Samsung SSD 960 PRO 512GB CompressionMethod : CreationClassName : Win32_DiskDrive Description : Disk drive ErrorCleared : ErrorDescription : ErrorMethodology : FirmwareRevision : 1B6QCXP7 Manufacturer : (Standard disk drives) MediaLoaded : True MediaType : Fixed hard disk media Model : Samsung SSD 960 PRO 512GB Name : \\.\PHYSICALDRIVE1 PNPDeviceID : SCSI\DISK&VEN_NVME&PROD_SAMSUNG_SSD_960\7&11BF5A6C&0&000000 PowerManagementCapabilities : PowerManagementSupported : SCSIBus : 0 SCSILogicalUnit : 0 SCSIPort : 1 SCSITargetId : 0 SerialNumber : 0025_385C_6150_0AD4. Signature : SystemCreationClassName : Win32_ComputerSystem SystemName : JMR-ENG-SARAH Scope : System.Management.ManagementScope Path : \\JMR-ENG-SARAH\root\cimv2:Win32_DiskDrive.DeviceID="\\\\.\\PHYSICALDRIVE1" Options : System.Management.ObjectGetOptions ClassPath : \\JMR-ENG-SARAH\root\cimv2:Win32_DiskDrive Properties :  SystemProperties :  Qualifiers :  Site : Container : 

Hier ist eine Beispielausgabe von Win32_DeivceMemoryAddress:

PSComputerName : JMR-ENG-SARAH Status : OK Name : 0xF7400000-0xF76FFFFF MemoryType : WindowDecode __GENUS : 2 __CLASS : Win32_DeviceMemoryAddress __SUPERCLASS : Win32_SystemMemoryResource __DYNASTY : CIM_ManagedSystemElement __RELPATH : Win32_DeviceMemoryAddress.StartingAddress="4148166656" __PROPERTY_COUNT : 11 __DERIVATION :  __SERVER : JMR-ENG-SARAH __NAMESPACE : root\cimv2 __PATH : \\JMR-ENG-SARAH\root\cimv2:Win32_DeviceMemoryAddress.StartingAddress="4148166656" Caption : 0xF7400000-0xF76FFFFF CreationClassName : Win32_DeviceMemoryAddress CSCreationClassName : Win32_ComputerSystem CSName : JMR-ENG-SARAH Description : 0xF7400000-0xF76FFFFF EndingAddress : 4151312383 InstallDate : StartingAddress : 4148166656 Scope : System.Management.ManagementScope Path : \\JMR-ENG-SARAH\root\cimv2:Win32_DeviceMemoryAddress.StartingAddress="4148166656" Options : System.Management.ObjectGetOptions ClassPath : \\JMR-ENG-SARAH\root\cimv2:Win32_DeviceMemoryAddress Properties :  SystemProperties :  Qualifiers :  Site : Container : 

Ich habe diese Site gefunden, die eine schöne Liste der verfügbaren WMI Win32_ * -Tags und der CIM-Tags enthält.

Was wäre der WMI-Befehl und wie erhalte ich die Informationen von einem Win32_DiskDrive-Laufwerk?

UPDATE: Windows behandelt NVMe-SSDs ab dieser Frage nicht wie normale SSDs. Daher sind der IDE-Controller und viele andere von WMI aufgezählte Funktionen falsch oder funktionieren nicht.

0

1 Antwort auf die Frage

0
WeatherForecastingRat

Ich bin kein WMI-Experte und nicht sicher, ob ich hier auf einem guten Weg bin.

Es gibt jedoch ein Associators OfSchlüsselwort in der WQL-Sprache (SQL für WMI). Associators OfErmöglicht das Abrufen aller Instanzen, die einer bestimmten Quelleninstanz zugeordnet sind. Durch die Methode von trail und error habe ich es auf folgende Befehle eingegrenzt:

Get-WmiObject -Query "ASSOCIATORS OF WHERE ResultClass=Win32_PnPEntity" Get-WmiObject -Query "ASSOCIATORS OF WHERE ResultClass=Win32_IdeController" Get-WmiObject -Query "ASSOCIATORS OF WHERE ResultClass=Win32_DeviceMemoryAddress" 

DeviceIDEigenschaften wurden hartcodiert und durch Pipe-Ausgabe an fl *(gefunden, um die zurückgegebenen Objekte weiter zu untersuchen)


Sie können auch versuchen, das WMI-Repo mithilfe des Associators OfSchlüsselworts, des Get-WMIObject -ListBefehls oder des GUI-Explorers wie WMI-Explorer genauer zu untersuchen

Das war ein guter College-Versuch. Ich habe meine Frage aktualisiert, um explizit anzugeben, dass das betreffende Laufwerk Samsung 960 Pro eine NVMe-SSD ist. WMI unterstützt NVMe-SSDs nicht vollständig. Daher ist die zweite Abfrage leer. WMI macht nicht viel oder falsch. StorNVMe.sys benötigt ein Update, wenn dies von WMI verwendet wird. Sarah Weinberger vor 7 Jahren 0
Vielleicht verwenden NMV-Laufwerke andere Klassen / Controller, um diese Informationen zu speichern? Welche Klassen gibt es, wenn Sie den zweiten Befehl ohne die WHERE-Klausel ausführen? WeatherForecastingRat vor 7 Jahren 0