有沒有辦法判斷一個磁盤是否有PowerShell的GPT或MBR分區?用PowerShell檢測GPT和MBR分區
4
A
回答
6
使用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 "*"}}
0
否.PowerShell沒有任何本機內置命令。顧名思義,PowerShell就是一個shell。它配備了一組有用的通用命令,但像這樣的專門命令留給了外部原生命令(如diskpart),模塊和/或管理單元。
既然你總是要找到你找到powershell的diskpart.exe,那就使用它。
如果您打算單獨使用PowerShell,那麼WMI可能會提供幫助。看看輸出:
PS> gwmi win32_partition | % { $_ | fl * }
-Oisin
0
要找出是否有任何磁盤有MBR或GPT這是很容易的。 啓動powershell。運行.. diskpart,按ENTER,運行.. 列表磁盤,按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
你會得到一個肯定的條目,我覺得,爲的Dyn或GPT,如果你的硬盤是動態的或分區表型分別爲GPT! 我搜索了一段時間,足夠我的目的。要比較使用WMI由Josh腳本的輸出,這裏是輸出..
DiskIndex GPT
--------- ---
0 False
1 False
2 False
5
如果您使用的是Windows 8,Windows Server 2012中,或更高版本,那麼你可以使用存儲的cmdlet之一檢查此:
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。鍵入其次
list disk
diskpart
的輸出如下:
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磁盤,並且在適當的欄內星號。
相關問題
- 1. 分區和MBR恢復
- 2. Windows將GPT識別爲MBR磁盤
- 3. dd - 備份MBR /分區表和第一個分區
- 4. 用於GPT分區表的啓動分區類型
- 5. 如何檢測虛擬機磁盤是否爲vmware中的GPT或MBR Esx(i)服務器/ Vcenter
- 6. 在javascript中使用gpt回調的Adblocker檢測
- 7. 使用delphi檢測bitlocker分區狀態
- 8. mbr2gpt:找到太多MBR分區,無房可創建EFI系統分區
- 9. 爲什麼只有一個MBR中的活動分區?
- 10. MBR說無效的分區表 - 但系統工作!爲什麼?
- 11. Powershell和Excel,區分大小寫.replace
- 12. 的/ proc /分區主次編號來檢測物理磁盤和分區
- 13. 爲什麼在扇區63上建立MBR的第一個分區?
- 14. 時區檢測
- 15. 檢測cryptofs設備或分區
- 16. 檢測Linux中最大的分區
- 17. 如何檢測Powershell內的Powershell嵌套?
- 18. 使用JavaScript檢測時區
- 19. 邊緣檢測和分割
- 20. 顏色檢測和分析
- 21. 使用PowerShell獲取分區名稱
- 22. 使用PowerShell檢測選定的文本
- 23. 使用Powershell檢測系統關機
- 24. 特徵檢測和對象檢測的區別
- 25. 檢測iphone區域
- 26. 檢測和操縱CKEditor區域
- 27. 解析名單和檢測continious地區
- 28. 區域學習和標記檢測
- 29. 如何以編程方式使用MBR和USB閃存扇區工作?
- 30. 使用Powershell檢測修補程序和累積更新
我正在查看WMI或.net庫調用。我將看到關於解析diskpart的輸出。exe – Josh 2010-10-01 18:39:37
看看輸出:gwmi win32_partition | %{$ _ | fl *} – x0n 2010-10-01 18:43:09
我認爲這個答案在技術上是正確的,但它忽略了這個問題的目的。我會建議你的評論納入你的答案。 – vmrob 2015-06-23 21:44:58