Existe uma maneira de manipular o conteúdo do arquivo zip na memória com o Powershell?

No momento, estou tentando escrever uma função do PowerShell que funcione com a saída do cmdlet do Lync PowerShell "Export-CsConfiguration -AsBytes". Ao usar o sistema remoto implícito do Powershell com os cmdlets do Lync, o sinalizador -AsBytes é a única maneira de trabalhar o cmdlet Export-CsConfiguration e retorna uma matriz de bytes, que, se você a gravar no disco com "Set-Content-Encc Byte" , resulta em um arquivo zip.

Gostaria de saber se existe uma maneira de expandir o conteúdo da matriz de bytes para os dois arquivos contidos nesse zip, mas apenas na memória. Não estou realmente interessado em manter o arquivo zip por muito tempo, pois ele muda frequentemente, e algo sobre gravar o conteúdo do arquivo em disco apenas para lê-los novamente novamente, para que eu possa fazer algo com o conteúdo descompactado parece terrivelmente errado para mim.

Então, há alguma maneira de fazer algo assim que evita gravações no disco:

$ZipFileBytes = Export-CsConfiguration -AsBytes
# Made up Powershell function follows:
[xml]DocItemSet = Extract-FileFromInMemoryZip -ByteArray $ZipFileBytes -FileInsideZipIWant "DocItemSet.xml"
# Do stuff with XML here

Em vez de fazer:

$ZipFileBytes = Export-CsConfiguration -AsBytes | Set-Content -Encoding Byte "CsConfig.zip"
[System.Reflection.Assembly]::LoadWithPartialName('System.IO.Compression.FileSystem')
[System.IO.Compression.ZipFile]::ExtractToDirectory("CsConfig.zip", "C:\Temp")
[xml]$DocItemSet = New-Object Xml.XmlDocument
$DocItemSet.Load("C:\Temp\DocItemSet.xml")
# Do stuff with XML here

Ou eu sou SOL?