PowerShell: как преобразовать COM-объект в тип взаимодействия .NET?

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

$is = (New-Object -ComObject IMAPI2FS.MsftFileSystemImage).CreateResultImage().ImageStream

Этот объект имеет тип (PowerShell)System.__ComObject, И почему-то PowerShell знает, что этоIStream:

PS C:\> $is -is [System.Runtime.InteropServices.ComTypes.IConnectionPoint]
False
PS C:\> $is -is [System.Runtime.InteropServices.ComTypes.IStream]
True

Однако приведение к этому типу завершается неудачно:

PS C:\> [System.Runtime.InteropServices.ComTypes.IStream] $is
Cannot convert the "System.__ComObject" value of type "System.__ComObject" to type "System.Runtime.InteropServices.ComT
ypes.IStream".
At line:1 char:54
+ [System.Runtime.InteropServices.ComTypes.IStream] $is <<<<
    + CategoryInfo          : NotSpecified: (:) [], RuntimeException
    + FullyQualifiedErrorId : RuntimeException

Как заставить это преобразование работать без использования кода C #?

Обновить: Очевидно, что это преобразование невозможно заставить работать, как говорится в ответе x0n.

Теперь моя цель - передать этоIStream COM-объект для некоторого кода C # (часть того же сценария PowerShell, использующегоAdd-Type), где он станет объектом .NET типаSystem.Runtime.InteropServices.ComTypes.IStream, Это возможно? Если нет, какие у меня есть альтернативы?

Ответы на вопрос(2)

Ваш ответ на вопрос