Powershell – Baramundi WSUS Report

Powershell – Baramundi WSUS Report

#########################################################

## Import WSUS Last Reported into Baramundi

## By Gareth Owens

#########################################################


# Create a Custom Variable in Baramundi.
# Category set to WSUS.
# Variable name to Last Reported.


#########################################################

## Baramundi Import Module

#########################################################

Import-Module bConnect

#########################################################

## Variables

#########################################################

$BMserver = "localhost" # Use this Script on the Baramundi Server or Change this to the Baramundi Server name or IP Address
$BMport = 443
$BMcred = "Username" # Change me to an Account to Access WSUS
$WSUSServerName = "WSUS_Name" # Change me to the WSUS Server Name or IP Address


#########################################################

## Initialise Baramundi Connection

#########################################################


$BMConnect = Initialize-bConnect -Server $BMserver -Credentials $BMcred -AcceptSelfSignedCertifcate -Port $BMport


#########################################################

## Run Check in WSUS

#########################################################


$wsusScan = Get-WsusServer -name $WSUSServerName -port 8530 | Get-WsusComputer | Select-Object FullDomainName, LastSyncResult, LastReportedStatusTime


#########################################################

## Code

#########################################################


foreach($wsusComputers in $wsusScan)
{

try{

#### REPLACE ME to the Domain name for the Assets

 $ComputerName = $wsusComputers.FullDomainName.Replace("REPLACE ME", "")

 $endpoint = Search-bConnectEndpoint -Term $ComputerName

 If($endpoint -eq $true){

 Write-Output ($ComputerName + " Could not be Found")

}


Else{

Set-bConnectVariable -Scope Device -Category WSUS -Name Last Reported -Value $wsusComputers.LastReportedStatusTime.ToString('dd/MM/yyyy') -ObjectGuid $endpoint.Id

# Write-Output ($ComputerName + " Found")

}



}

 catch {

 Write-Output ("Error")

 }
 

}

Write-Output ("Search Completed.")