You are on page 1of 1

$SoftwaresList = Import-Csv

\\SDF0746\SophosInstall\Relatorios\SoftwaresList.Csv
$Computers = Get-Content \\SDF0746\SophosInstall\Computers.txt
[Array]$SoftwareInventory = ""
ForEach ($Computer in $Computers) {
$ComputerSoftwares = Get-WmiObject -Class Win32_Product -Computer
$Computer | Select-Object Name, Version | Where-Object -FilterScript
{$_.Name -like "Sophos*"}
If ($ComputerSoftwares) {
ForEach ($Software in $SoftwaresList) {
$NotInstalled = 0
$PoShObject = New-Object -TypeName psobject
ForEach ($ComputerSoftwares in $ComputerSoftwares) {
If ($ComputerSoftwares.Name -eq $Software.SoftwareName) {
$PoShObject | Add-Member -MemberType NoteProperty -
Name ComputerName -Value ($Computer) -PassThru |
Add-Member -MemberType NoteProperty -Name Software -
Value ($ComputerSoftwares.Name) -PassThru |
Add-Member -MemberType NoteProperty -Name Status -
Value ("Installed") -PassThru | Out-Null
$SoftwareInventory += $PoShObject
$NotInstalled = 1
}
}
If ($NotInstalled -eq 0){
$PoShObject | Add-Member -MemberType NoteProperty -Name
ComputerName -Value ($Computer) -PassThru |
Add-Member -MemberType NoteProperty -Name Software -Value
($Software.SoftwareName) -PassThru |
Add-Member -MemberType NoteProperty -Name Status -Value
("NotInstalled") -PassThru | Out-Null
$SoftwareInventory += $PoShObject
}
}
}
}
If ($SoftwareInventory) {$SoftwareInventory | Sort-Object
ComputerName,Software | Export-Csv -Path
\\SDF0746\SophosInstall\Relatorios\$SoftwareInventory.csv -
NoTypeInformation}

You might also like