Как я могу удалить все тома с жестких дисков в среде WinPE, используя Diskpart с помощью вызовов Powershell или WMIC? В образ WinPE будут заранее добавлены необходимые пакеты с использованием DISM, и я не хочу очищать USB-диски или любое внешне подключенное хранилище, включая ссылки iSCSI

Имейте в виду, что это будет использоваться как часть среды развертывания, в которой система очищается перед применением образа. Предполагается, что среда развертывания будет полностью оставлена без внимания, поэтому чем меньше будет летать вниз экрана, тем лучше.

2 ответа2

3

Чтобы сделать то же самое с помощью PowerShell, вы можете использовать

Используйте с особой осторожностью, этот скрипт удалит жесткие диски!

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

(Я поставил -Confirm -Whatif, который будет удален, чтобы люди не могли случайно удалить всю свою композицию! - удалите ее, чтобы удалить всю вашу композицию)

Очевидно, что вам нужно сделать часть "ATA" такой, какой вы хотите, и вам может понадобиться флаг подтверждения для Clear-Disk (у меня не было запасного диска для его тестирования!)

Ты можешь использовать

get-disk | fl *

Чтобы получить список всех дисков со всеми переменными, которые вы можете использовать для фильтрации.

-1

(Отвечая на предварительно отредактированный вопрос, когда он спросил о том, как это сделать через командную строку / diskpart)

select disk 0
clean
select disk 1
clean
...

Это удалит все разделы с дисков и вернет их к необработанным устройствам.

Если вы выберете больше дисков, чем знаете, у вас будет просто ошибка на несуществующих.

Чтобы сделать его более избирательным, вам нужно написать скрипт, который будет проверять вывод

select disk x
disk detail 

чтобы проверить, является ли это диск Ата и т. д., затем вы можете запустить команду очистки, если это подходит

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .