从所有连接的磁盘中删除所有卷 - Diskpart

从所有连接的磁盘中删除所有卷 - Diskpart

如何在 WinPE 环境中使用 Diskpart 通过 Powershell 或 WMIC 调用从硬盘驱动器中删除所有卷?WinPE 映像将预先使用 DISM 注入所需的包,并且我不想清除 USB 磁盘或任何外部连接的存储,包括 iSCSI 链接

请记住,这将用作部署环境的一部分,在应用图像之前会清除系统。部署环境旨在完全无人值守,因此屏幕上飞下来的东西越少越好。

答案1

要通过 powershell 执行相同操作,你可以使用

请谨慎使用,此脚本将会删除硬盘!

(Get-Disk).where({$_.BusType -like "ATA"}) | Clear-Disk  -Confirm -Whatif -RemoveData -RemoveOEM

(我已将“-确认-如果”删除,这样人们就无法随意删除他们的整个作品!——删除它即可删除你的整个作品)

显然,您需要将“ATA”部分制作成您需要的样子,并且您可能需要一个 Clear-Disk 的确认标志(我没有备用磁盘来测试它!)

您可以使用

get-disk | fl *

获取所有附加磁盘的列表,其中包含可用于过滤的所有变量。

答案2

(回答预先编辑的问题,当它询问如何通过命令提示符/ diskpart 执行此操作时)

select disk 0
clean
select disk 1
clean
...

这将从磁盘中删除所有分区并将其返回到原始设备。

如果选择的磁盘数量超出您的认知范围,则系统会在不存在的磁盘上出现错误。

为了使其更具选择性,您需要编写一个脚本来检查输出

select disk x
disk detail 

检查它是否是 ATA 磁盘等,然后您可以运行 clean 命令(如果合适)

相关内容