Adoro o Get-InstalledSoftware_32_And_64.ps1. É incrivelmente útil e pode fazer o que você precisa. Você pode até configurá-lo para adicionar atributos de extensão a objetos de computador com um pouco de script extra e, em seguida, aproveitar essas extensões com outros componentes do AD. Mas isso está além do escopo desta resposta.
Aqui está uma maneira fácil de obter suas listas. Nota: Isso depende de instalação do Get-InstalledSoftware_32_And_64.ps1.
// Import AD module
Import-Module ActiveDirectory
// Setup array of computer names
$computers = Get-ADComputer -Filter 'ObjectClass -eq "Computer"' | Select -Expand DNSHostName
// foreach loop - do stuff...
foreach ( $computer in $computers ) {
$output = Get-SoftwareList -Computername $computer | Select-String "Microsoft Office 2013"
if ( $output -match "64" ) {
echo "$computer >> Office2013-64_Installs.txt
}
elseif ( $output -match "32 ) {
echo "$computer >> Office2013-32_Installs.txt
}
else {
$recheck = Get-SoftwareList -Computername $computer | Select-String "Microsoft Office"
echo "$Computer :: $recheck >> Office2013_Check_ErrorLog.txt
}
}
O log de erros listará computadores que não tenham o Office 2013 instalado ou que tenham a versão incorreta instalada. Você pode fazer muito mais validação, mas isso vai começar.