To get a list of pending Windows Updates of a Server with No Internet access, follow these steps:
Download wsusscn2.cab from another pc/server with Internet Access
Copy the wsusscn2.cab file in the Server that has No Internet access
Open Windows PowerShell ISE as Administrator
Run following PowerShell script assigning to the variable $Wsusscn2FilePath the correct path where you saved the wsusscn2.cab file
$Wsusscn2FilePath = "c:\tempwsusscn2.cab"
$UpdateSession = New-Object -ComObject Microsoft.Update.Session
$UpdateServiceManager = New-Object -ComObject Microsoft.Update.ServiceManager
$UpdateService = $UpdateServiceManager.AddScanPackageService("Offline Sync Service", $Wsusscn2FilePath, 1)
$UpdateSearcher = $UpdateSession.CreateUpdateSearcher()
Write-Output "Searching for updates... `r`n"
$UpdateSearcher.ServerSelection = 3
$UpdateSearcher.IncludePotentiallySupersededUpdates = $true
$UpdateSearcher.ServiceID = $UpdateService.ServiceID.ToString()
$SearchResult = $UpdateSearcher.Search("IsInstalled=0")
$Updates = $SearchResult.Updates
if($Updates.Count -eq 0){
Write-Output "There are no applicable updates."
return $null
}
Write-Output "List of applicable items on the machine when using wssuscan.cab: `r`n"
$i = 0
foreach($Update in $Updates){
Write-Output "$($i)> $($Update.Title)"
$i++
}
The script will return the list of pending updates or the message “There are no applicable updates”.
You will need to download manually the updates from another pc/server with Internet access, copy and install them manually as described in my previous post:
The steps have been tested in Windows Server 2016.