Créer une image ISO à l'aide de PowerShell: comment sauver IStream de fichier?
Je veux créer une image ISO, donc une .fichier iso, sur Windows. C'est possible de le faire à l'aide d'un composant COM IMAPI2FS.MsftFileSystemImage, et j'ai trouvé des instructions sur la façon de le faire à l'aide de PowerShell dans MSDN post de blog intitulé "Écrire sur les disques optiques à l'aide de IMAPI 2 en powershell".
Après l'étape 3, les instructions de dire que "lors de cette étape, vous pouvez vous arrêter et enregistrer entraîné une image sur le disque dur local, ce sera une pure image iso."
Ma question: Comment dois-je prendre $resultStream, c'est à dire, un objet COM que les résultats de la récupération d'un ImageStream, en PowerShell et enregistrer son contenu dans un fichier?
OriginalL'auteur Marnix Klooster | 2011-11-30
Vous devez vous connecter pour publier un commentaire.
Vous avez besoin pour utiliser FileStream écrivain. Suivez ce lien pour voir un exemple de comment il est fait en c#.
http://tools.start-automating.com/Install-ExportISOCommand/?-Download
La fonction, il peut être utilisé pour créer des applets de commande qui vous aident à créer l'ISO. Par exemple,
Exécuter
Install-ExportISOCommand
Cela crée
Export-Iso
Ensuite, utilisez
Export-ISO
pour créer un ISO.IStream
.NET code, où le type de données est sans douteSystem.Runtime.InteropServices.ComTypes.IStream
; (2) lire ce flux un bloc à la fois; et (3) écrire les blocs de fichier à l'aide de FileStream.Write(). Est-ce exact?Oui, c'est ce que je comprends, et j'ai essayé. Il fonctionne!
Vais essayer (peut-être dans quelques jours), seront de retour ici.
J'ai accepté ce que la réponse. En fait, je veux le faire sans l'ajout d'une applet de commande, et en quelque sorte dans PowerShell ne peut pas obtenir le
ImageStream
la propriété en fonte pour uneSystem.Runtime.InteropServices.ComTypes.IStream
: fonte échoue toujours. Je vais donc être le vol du code plus deExport-ISO
pour voir si cela fonctionne mieux.Merci de voir gist.github.com/3944688 pour un exemple de code.
OriginalL'auteur ravikanth
Vous pouvez utiliser le DiscUtils bibliothèque de faire ISOs (et de gérer d'autres formats de disque tels que VHD/VHDX, DMG, FAT, etc). Un Module PowerShell est prise en charge ainsi un Tâche MSBUILD pour créer automatiquement votre ISO sur le projet de construction.
Créer un
CDBuilder
objet et aller à la ville avec l'ajout de fichiers et de répertoires de l'enregistrer sur le disque avec laBuild
méthode. Télécharger la documentation ici.La grande chose au sujet de cette approche est qu'elle est 100% de code managé et de la croix-plate-forme - il n'y a pas de IMAPI2 COM/Marshaling exigence.
Vous pouvez rapidement ajouter à votre projet à l'aide de la Nuget installer...
Install-Package Discutils
OriginalL'auteur Andy Arismendi