powershellpsobjectdism

Convert DISM output to PS objects


Can you point me in the right direction, on how do convert this DISM output to Powershell objects so i can use them in my script, to filter on the results ? dism /Get-WimInfo /WimFile:"E:\_Source\OSD\x64\Windows 10 Enterprise\1607\Media\WIM\REFW10-X64-1607_04-12-2017.wim" /index:1

The out-put i get is :

Deployment Image Servicing and Management tool Version: 10.0.14393.0

Details for image : E:\_Source\OSD\x64\Windows 10 Enterprise\1607\Media\WIM\REFW10-X64-1607_04-12-2017.wim

Index : 1 Name : REFW10-X64EN-01EDrive 
Description : Build Windows 10 Enterprise x64 en-US 

Size : 18.500.052.305 bytes 

WIM Bootable : No 

Architecture : x64 

Hal : acpiapic 

Version : 10.0.16299 

ServicePack Build : 15 

ServicePack Level : 64 

Edition : Enterprise 

Installation : Client 

ProductType : WinNT 

ProductSuite : Terminal Server 

System Root : WINDOWS 

Directories : 24025 

Files : 112737 

Created : 24-11-2017 - 01:40:49 

Modified : 24-11-2017 - 01:40:51 

Languages :     en-US (Default)

i tried with | Out-String -Stream | Select-String "Version " But with no luck..


Solution

  • Putting it together:

    $WimFile = "E:\_Source\OSD\x64\Windows 10 Enterprise\1607\Media\WIM\REFW10-X64-1607_04-12-2017.wim"
    $Version = (dism /Get-WimInfo /WimFile:$WimFile /index:1 | Select-String "Version ").ToString().Split(":")[1].Trim()
    $Language = ((dism /Get-WimInfo /WimFile:$WimFile /index:1 | Select-String "Languages " -Context 0,1).ToString() -Split "\s\(Default\)" -Split "\s")[-2]