Создание ISO-образа с помощью PowerShell: как сохранить IStream в файл?

Я хочу создать ISO-образ, так .iso-файл, в Windows. Это можно сделать с помощью com-компонент IMAPI2FS.MsftFileSystemImage, и я нашел Инструкции о том, как это сделать с помощью PowerShell в сообщение в блоге MSDN под названием "запись оптических дисков с помощью IMAPI 2 в powershell".

после шага 3 эти инструкции говорят, что "на этом шаге вы можете остановить и сохранить полученное изображение на локальный жесткий диск, это будет чистый iso изображение."

мой вопрос: Как взять $resultStream, т. е. COM-объект, который является результатом извлечения ImageStream, в PowerShell и сохранить его содержимое в файл?

2 ответов


вам нужно использовать FileStream writer. Проверьте эту ссылку для примера, как это делается в C#. http://tools.start-automating.com/Install-ExportISOCommand/?-Download

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

Run Install-ExportISOCommand Это создает Export-Iso

затем используйте Export-ISO для создания ISO.

Export-Iso -ISOPath C:\dropbox\test.iso -FileName C:\Dropbox\Scripts

можно использовать библиотека DiscUtils сделать ISOs (и управлять другими форматами дисков, такими как VHD/VHDX, DMG, FAT и т. д.). А модуль PowerShell поддерживается также задача MSBUILD для автоматического создания ISO в сборке проекта.

создать CDBuilder объект и пойти в город с добавлением файлов и каталогов, а затем сохранить его на диск с Build метод. скачать документацию здесь.

 CDBuilder builder = new CDBuilder();
 builder.AddFile("samplefile.txt", new byte[] { });
 builder.Build(@"c:\output.iso");

самое замечательное в этом подходе заключается в том, что это 100% управляемый код и кросс-платформенный - нет IMAPI2 COM/требование маршалинга.