2016-12-19 1 views
1

Возможно ли выполнить этот сценарий powershell в старых старых командах wmic? Мне нужно получить информацию о модели диска на основе пути или буквы диска, если это возможно, но у меня проблемы с сценариями powershell.Может ли wmic получить информацию о модели пути или физических имен?

Get-WmiObject Win32_DiskDrive | % { 
    $disk = $_ 
    $partitions = "ASSOCIATORS OF " + 
       "{Win32_DiskDrive.DeviceID='$($disk.DeviceID)'} " + 
       "WHERE AssocClass = Win32_DiskDriveToDiskPartition" 
    Get-WmiObject -Query $partitions | % { 
    $partition = $_ 
    $drives = "ASSOCIATORS OF " + 
       "{Win32_DiskPartition.DeviceID='$($partition.DeviceID)'} " + 
       "WHERE AssocClass = Win32_LogicalDiskToPartition" 
    Get-WmiObject -Query $drives | % { 
     New-Object -Type PSCustomObject -Property @{ 
     Disk  = $disk.DeviceID 
     DiskSize = $disk.Size 
     DiskModel = $disk.Model 
     Partition = $partition.Name 
     RawSize  = $partition.Size 
     DriveLetter = $_.DeviceID 
     VolumeName = $_.VolumeName 
     Size  = $_.Size 
     FreeSpace = $_.FreeSpace 
     } 
    } 
    } 
} 

Сценарий был разделен в этом вопросе: Combine `Get-Disk` info and `LogicalDisk` info in PowerShell?

ответ

2

Я не уверен, я понимаю:

  1. wmic для изготовления одно-, простые запросы.

  2. Если вы хотите сделать более сложные запросы (например, вложенные петли выше), вам понадобится какой-то «язык программирования». Как C#, VBScript ... или Powershell.

  3. В: Какие именно «проблемы» вы столкнулись с попыткой выполнить этот скрипт?

Вот пример вывода из вашего сценария:

d:\>powershell -ExecutionPolicy ByPass -File tmp.ps1 

DiskSize : 128034708480 
RawSize  : 117894545408 
FreeSpace : 44036825088 
Disk  : \\.\PHYSICALDRIVE1 
DriveLetter : C: 
DiskModel : SanDisk SD6SF1M128G 
VolumeName : OS_Install 
Size  : 117894541312 
Partition : Disk #1, Partition #2 

DiskSize : 320070320640 
RawSize  : 320070836224 
FreeSpace : 29038071808 
Disk  : \\.\PHYSICALDRIVE2 
DriveLetter : E: 
DiskModel : TOSHIBA External USB 3.0 USB Device 
VolumeName : TOSHIBA EXT 
Size  : 320070832128 
Partition : Disk #2, Partition #0 

DiskSize : 1000202273280 
RawSize  : 734673240064 
FreeSpace : 141853818880 
Disk  : \\.\PHYSICALDRIVE0 
DriveLetter : D: 
DiskModel : HGST HTS721010A9E630 
VolumeName : Data 
Size  : 734673235968 
Partition : Disk #0, Partition #0 

PS:

Смотрите также PowerShell says "execution of scripts is disabled on this system."

+0

-ExecutionPolicy ByPass было только то, что мне было нужно. Спасибо что подметил это. :) – simgineer

Смежные вопросы