Private/OSB-OS.ps1
function Export-OSBInstallWimInventory { [CmdletBinding()] PARAM ( [string]$MountDirectory, [string]$OSMediaPath ) Write-Host "Install.wim: Export Inventory to $OSMediaPath" -ForegroundColor Green Write-Verbose 'Export-OSBInstallWimInventory' Write-Verbose "MountDirectory: $MountDirectory" Write-Verbose "OSMediaPath: $OSMediaPath" $GetAppxProvisionedPackage = @() TRY { Write-Verbose "$OSMediaPath\AppxProvisionedPackage.txt" $GetAppxProvisionedPackage = Get-AppxProvisionedPackage -Path "$MountDirectory" $GetAppxProvisionedPackage | Out-File "$OSMediaPath\info\Get-AppxProvisionedPackage.txt" $GetAppxProvisionedPackage | Out-File "$OSMediaPath\AppxProvisionedPackage.txt" $GetAppxProvisionedPackage | Out-File "$OSMediaPath\info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-AppxProvisionedPackage.txt" $GetAppxProvisionedPackage | Export-Clixml -Path "$OSMediaPath\info\xml\Get-AppxProvisionedPackage.xml" $GetAppxProvisionedPackage | Export-Clixml -Path "$OSMediaPath\info\xml\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-AppxProvisionedPackage.xml" $GetAppxProvisionedPackage | ConvertTo-Json | Out-File "$OSMediaPath\info\json\Get-AppxProvisionedPackage.json" $GetAppxProvisionedPackage | ConvertTo-Json | Out-File "$OSMediaPath\info\json\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-AppxProvisionedPackage.json" } CATCH {Write-Warning "Get-AppxProvisionedPackage is not supported by this Operating System"} $GetWindowsOptionalFeature = @() TRY { Write-Verbose "$OSMediaPath\WindowsOptionalFeature.txt" $GetWindowsOptionalFeature = Get-WindowsOptionalFeature -Path "$MountDirectory" $GetWindowsOptionalFeature | Out-File "$OSMediaPath\info\Get-WindowsOptionalFeature.txt" $GetWindowsOptionalFeature | Out-File "$OSMediaPath\WindowsOptionalFeature.txt" $GetWindowsOptionalFeature | Out-File "$OSMediaPath\info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsOptionalFeature.txt" $GetWindowsOptionalFeature | Export-Clixml -Path "$OSMediaPath\info\xml\Get-WindowsOptionalFeature.xml" $GetWindowsOptionalFeature | Export-Clixml -Path "$OSMediaPath\info\xml\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsOptionalFeature.xml" $GetWindowsOptionalFeature | ConvertTo-Json | Out-File "$OSMediaPath\info\json\Get-WindowsOptionalFeature.json" $GetWindowsOptionalFeature | ConvertTo-Json | Out-File "$OSMediaPath\info\json\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsOptionalFeature.json" } CATCH {Write-Warning "Get-WindowsOptionalFeature is not supported by this Operating System"} $GetWindowsCapability = @() TRY { Write-Verbose "$OSMediaPath\WindowsCapability.txt" $GetWindowsCapability = Get-WindowsCapability -Path "$MountDirectory" $GetWindowsCapability | Out-File "$OSMediaPath\info\Get-WindowsCapability.txt" $GetWindowsCapability | Out-File "$OSMediaPath\WindowsCapability.txt" $GetWindowsCapability | Out-File "$OSMediaPath\info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsCapability.txt" $GetWindowsCapability | Export-Clixml -Path "$OSMediaPath\info\xml\Get-WindowsCapability.xml" $GetWindowsCapability | Export-Clixml -Path "$OSMediaPath\info\xml\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsCapability.xml" $GetWindowsCapability | ConvertTo-Json | Out-File "$OSMediaPath\info\json\Get-WindowsCapability.json" $GetWindowsCapability | ConvertTo-Json | Out-File "$OSMediaPath\info\json\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsCapability.json" } CATCH {Write-Warning "Get-WindowsCapability is not supported by this Operating System"} $GetWindowsPackage = @() TRY { Write-Verbose "$OSMediaPath\WindowsPackage.txt" $GetWindowsPackage = Get-WindowsPackage -Path "$MountDirectory" $GetWindowsPackage | Out-File "$OSMediaPath\info\Get-WindowsPackage.txt" $GetWindowsPackage | Out-File "$OSMediaPath\WindowsPackage.txt" $GetWindowsPackage | Out-File "$OSMediaPath\info\logs\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsPackage.txt" $GetWindowsPackage | Export-Clixml -Path "$OSMediaPath\info\xml\Get-WindowsPackage.xml" $GetWindowsPackage | Export-Clixml -Path "$OSMediaPath\info\xml\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsPackage.xml" $GetWindowsPackage | ConvertTo-Json | Out-File "$OSMediaPath\info\json\Get-WindowsPackage.json" $GetWindowsPackage | ConvertTo-Json | Out-File "$OSMediaPath\info\json\$((Get-Date).ToString('yyyy-MM-dd-HHmmss'))-Get-WindowsPackage.json" } CATCH {Write-Warning "Get-WindowsPackage is not supported by this Operating System"} } |