Создание 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/требование маршалинга.