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

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

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

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

Ответы [ 2 ]

4 голосов
/ 30 ноября 2011

Вам необходимо использовать FileStream Writer. Проверьте эту ссылку для примера того, как это делается в C #. http://tools.start -automating.com / Install-ExportISOCommand / - Скачать

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

Выполнить Install-ExportISOCommand Это создает Export-Iso

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

Export-Iso -ISOPath C:\dropbox\test.iso -FileName C:\Dropbox\Scripts
3 голосов
/ 03 декабря 2011

Вы можете использовать библиотеку DiscUtils для создания ISO ( и управлять другими форматами дисков, такими как 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 / Marshaling .

...