如何在 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 命令(如果合适)