如何使用PowerShell获取磁盘的父值

时间:2017-10-11 23:39:31

标签: powershell storage

我正在尝试访问磁盘的属性,并专门查找其父值,如下面的屏幕截图所示: Disk properties as seen by right clicking on a disk and trying to fetch the parent value

我无法获取正确的命令行开关来获取信息。我尝试过以下命令:https://gallery.technet.microsoft.com/scriptcenter/feb9341a-fd0a-47af-adff-e3ae33071a22

我也试过" Get-Disks并没有帮助我得到我想要的东西。想知道是否有一个powershell命令可以让用户获取磁盘的父值?

非常感谢这里的任何帮助。

谢谢, Kaushik Prakash

3 个答案:

答案 0 :(得分:1)

您可以使用以下脚本来检索值:

$disk = (gwmi win32_DiskDrive -Property * | ?{$_.PnpDeviceID -eq 'SCSI\DISK&VEN_SAMSUNG&PROD_SSD_850_EVO_1TB\4&3BDA36C&0&010000'})
$PnpEntity = gwmi -query "ASSOCIATORS OF {$($Disk.__RELPATH)} where resultclass = Win32_PnpEntity"
switch ($Disk.InterfaceType)
{
    'IDE' 
    {
        $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_IDEController").PnpDeviceID
        break; 
    }


    'SCSI' 
    {
        $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_SCSIController").PnpDeviceID
        break;
    }

    'USB' 
    {
        $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_USBController").PnpDeviceID
        break;
    }

    Default {}
}


Write-host $parentID

享受;-)

答案 1 :(得分:0)

您可以使用此功能,也可以使用win32_logicaldisk类获取信息:

$Items = get-wmiobject -class "Win32_DiskDrive" -namespace "root\CIMV2"

foreach ($Item in $Items) { 
      write-host "Availability: " $Item.Availability 
      write-host "Bytes Per Sector: " $Item.BytesPerSector 
      write-host "Capabilities: " $Item.Capabilities 
      write-host "Capability Descriptions: " $Item.CapabilityDescriptions 
      write-host "Caption: " $Item.Caption 
      write-host "Compression Method: " $Item.CompressionMethod 
      write-host "Configuration Manager Error Code: " $Item.ConfigManagerErrorCode 
      write-host "Configuration Manager User Configuration: " $Item.ConfigManagerUserConfig 
      write-host "Creation Class Name: " $Item.CreationClassName 
      write-host "Default Block Size: " $Item.DefaultBlockSize 
      write-host "Description: " $Item.Description 
      write-host "Device ID: " $Item.DeviceID 
      write-host "Error Cleared: " $Item.ErrorCleared 
      write-host "Error Description: " $Item.ErrorDescription 
      write-host "Error Methodology: " $Item.ErrorMethodology 
      write-host "Index: " $Item.Index 
      write-host "Installation Date: " $Item.InstallDate 
      write-host "Interface Type: " $Item.InterfaceType 
      write-host "Last Error Code: " $Item.LastErrorCode 
      write-host "Manufacturer: " $Item.Manufacturer 
      write-host "Maximum Block Size: " $Item.MaxBlockSize 
      write-host "Maximum Media Size: " $Item.MaxMediaSize 
      write-host "Media Loaded: " $Item.MediaLoaded 
      write-host "Media Type: " $Item.MediaType 
      write-host "Minimum Block Size: " $Item.MinBlockSize 
      write-host "Model: " $Item.Model 
      write-host "Name: " $Item.Name 
      write-host "Needs Cleaning: " $Item.NeedsCleaning 
      write-host "Number Of Media Supported: " $Item.NumberOfMediaSupported 
      write-host "Partitions: " $Item.Partitions 
      write-host "PNP Device ID: " $Item.PNPDeviceID 
      write-host "Power Management Capabilities: " $Item.PowerManagementCapabilities 
      write-host "Power Management Supported: " $Item.PowerManagementSupported 
      write-host "SCSI Bus: " $Item.SCSIBus 
      write-host "SCSI Logical Unit: " $Item.SCSILogicalUnit 
      write-host "SCSI Port: " $Item.SCSIPort 
      write-host "SCSI Target ID: " $Item.SCSITargetId 
      write-host "Sectors Per Track: " $Item.SectorsPerTrack 
      write-host "Signature: " $Item.Signature 
      write-host "Size: " $Item.Size 
      write-host "Status: " $Item.Status 
      write-host "Status Information: " $Item.StatusInfo 
      write-host "System Creation Class Name: " $Item.SystemCreationClassName 
      write-host "System Name: " $Item.SystemName 
      write-host "Total Cylinders: " $Item.TotalCylinders 
      write-host "Total Heads: " $Item.TotalHeads 
      write-host "Total Sectors: " $Item.TotalSectors 
      write-host "Total Tracks: " $Item.TotalTracks 
      write-host "Tracks Per Cylinder: " $Item.TracksPerCylinder 
      write-host 
} 

答案 2 :(得分:0)

谢谢瑞吉斯!这正是我想要的。

PS C:\Users\Administrator>
PS C:\Users\Administrator> $disk = (gwmi win32_DiskDrive -Property * | ?{$_.PnpDeviceID -eq 'SCSI\DISK&VEN_SANBLAZE&PROD_VLUN_P2T0L3\5&9BA739C&0&000503'})
PS C:\Users\Administrator> $PnpEntity = gwmi -query "ASSOCIATORS OF {$($Disk.__RELPATH)} where resultclass = Win32_PnpEntity"
PS C:\Users\Administrator> switch ($Disk.InterfaceType)
>> {
>>     'IDE'
>>     {
>>         $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_IDEController").PnpDeviceID
>>         break;
>>     }
>>
>>
>>     'SCSI'
>>     {
>>         $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_SCSIController").PnpDeviceID
>>         break;
>>     }
>>
>>     'USB'
>>     {
>>         $parentID = (gwmi -query "ASSOCIATORS OF {$($PnpEntity.__RELPATH)} where resultclass = Win32_USBController").PnpDeviceID
>>         break;
>>     }
>>
>>     Default {}
>> }
PS C:\Users\Administrator> Write-host $parentID
PCI\VEN_10DF&DEV_E300&SUBSYS_E30010DF&REV_01\4&29553A89&0&0108
PS C:\Users\Administrator>

这匹配我的主持人发起人:

PCI\VEN_10DF&DEV_E300&SUBSYS_E30010DF&REV_01\4&29553a89&0&0108_0 200000109b17402c 100000109b17402c Fibre Channel