6

ディスクに PowerShell を使用した GPT パーティションまたは MBR パーティションがあるかどうかを確認する方法はありますか?

4

4 に答える 4

10

Windows 8、Windows Server 2012、またはそれ以降を使用している場合は、ストレージ コマンドレットのいずれかを使用してこれを確認できます。

Get-Disk

このコマンドの出力は、次のようにフォーマットされます。

PS C:\> Get-Disk

Number Friendly Name                            OperationalStatus                    Total Size Partition Style
------ -------------                            -----------------                    ---------- ---------------
0      Microsoft Virtual Disk                   Online                                    42 GB GPT
1      Microsoft Virtual Disk                   Online                                     1 GB GPT
2      Microsoft Virtual Disk                   Offline                                    2 GB RAW
3      Microsoft Virtual Disk                   Offline                                    3 GB RAW

右端の列は、探しているデータであるパー​​ティション スタイルを示していることに注意してください。

Windows 7、Windows Server 2008 R2、またはそれ以前を使用している場合は、diskpart または WMI を使用してこの情報を取得する必要があります。私はdiskpartを使用することを好みます。タイプ

diskpart

に続く

list disk

出力は次のようになります。

PS C:\> diskpart

Microsoft DiskPart version 6.3.9600

Copyright (C) 1999-2013 Microsoft Corporation.
On computer: WIN-BN8G3VMNQ9T

DISKPART> list disk

  Disk ###  Status         Size     Free     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
  Disk 0    Online           42 GB      0 B        *
  Disk 1    Online         1024 MB   991 MB        *
  Disk 2    Offline        2048 MB  2048 MB
  Disk 3    Offline        3072 MB  3072 MB

ディスク 0 と 1 はどちらも GPT ディスクであり、適切な列にアスタリスクがあることに注意してください。

于 2016-02-29T02:35:45.783 に答える
7

WMI の使用

gwmi -query "Select * from Win32_DiskPartition WHERE Index = 0" | Select-Object DiskIndex, @{Name="GPT";Expression={$_.Type.StartsWith("GPT")}}

Diskpart の使用

$a = "list disk" | diskpart
$m = [String]::Join("`n", $a) | Select-String -Pattern "Disk (\d+).{43}(.)" -AllMatches
$m.Matches | Select-Object @{Name="DiskIndex";Expression={$_.Groups[1].Value}}, @{Name="GPT";Expression={$_.Groups[2].Value -eq "*"}}
于 2010-10-01T19:37:40.697 に答える
0

ディスクに MBR または GPT があるかどうかを確認するには、これは非常に簡単です.. powershell を起動します。実行.. diskpart 、ENTER を押し、実行.. list disk 、ENTER を押します。これが私のコンピューターの出力です:

Disk ###  Status         Size     Free     Dyn  Gpt
--------  -------------  -------  -------  ---  ---
Disk 0    Online          232 GB  1024 KB
Disk 1    Online          465 GB  1024 KB
Disk 2    Online         3820 MB      0 B

ディスクが動的である場合、またはパーティションテーブルタイプがそれぞれ Gpt である場合、Dyn または Gpt に対してyes エントリが得られると思います。私はしばらく探しましたが、私の目的には十分です。Josh が WMI を使用してスクリプトの出力を比較するために、出力を次に示します。

DiskIndex                                     GPT
---------                                     ---
        0                                   False
        1                                   False
        2                                   False
于 2011-11-22T18:10:14.423 に答える
-1

いいえ。PowerShellには、このためのネイティブの組み込みコマンドはありません。PowerShellは、その名前が示すように、シェルです。便利で汎用的なコマンドレットの優れたセットが付属していますが、このような特殊化は、外部のネイティブコマンド(diskpartなど)、モジュール、スナップインに任されています。

powershellが見つかるdiskpart.exeは常に見つかるので、それを使用します。

PowerShellを単独で使用する場合は、おそらくWMIが役立つ可能性があります。次の出力を見てください。

PS> gwmi win32_partition | % { $_ | fl * }

-オシーン

于 2010-10-01T18:21:12.203 に答える