The All Covered Advanced Technology Solutions team writes scripts to help our engineers speed up repetitive tasks using automation, in this case I am writing a script to install and configure a new Windows Server Update Services (WSUS) server.

Many thanks to Boe Prox over at The Scripting Guys for sharing how to install and configure WSUS using the UpdateServices PowerShell module (Installing WSUS on Windows Server 2012).  A thank you also goes out to Trevor Jones for his article on Installing and Configuring WSUS with Powershell.

I found two issues with The Scripting Guys code and did not find any answers or solutions in the community.  I continued to troubleshoot these issues and found solutions for both.

Issue # 1 – All Office and Windows Products are enabled

I wanted to only enable select Microsoft Office and Windows products, although the parent categories “Office” and “Windows” were also selected which was not desired, this was the case if you used Product Title or the Product ID.  Here’s the commands that I tried to use to enable select Office products, Silverlight, and only Windows Server 2012 R2:

Get-WsusProduct | Where-Object {
$_.Product.Title -in ( 
 'Dictionary Updates for Microsoft IMEs',
 'New Dictionaries for Microsoft IMEs',
 'Office 2013',
 'Office 2016',
 'Silverlight',
 'Windows Server 2012 R2')
} | Set-WSUSProduct

Or using the Product Id:

Get-WsusProduct | Where-Object {
$_.Product.Id -in ( 
 'f76b7f51-b762-4fd0-a35c-e04f582acf42', # Dictionary Updates for Microsoft IMEs
 '8508af86-b85e-450f-a518-3b6f8f204eea', # New Dictionaries for Microsoft IMEs
 '704a0a4a-518f-4d69-9e03-10ba44198bd5', # Office 2013
 '25aed893-7c2d-4a31-ae22-28ff8ac150ed', # Office 2016
 '9f3dd20a-1004-470e-ba65-3dc62d982958', # Silverlight
 'd31bd4c3-d872-41c9-a2e7-231f372588cb' # Windows Server 2012 R2
)} | Set-WSUSProduct

Then review what Products are enabled and you’ll see “Office” and “Windows”:

$wsus = Get-WsusServer
$wsus.GetSubscription().GetUpdateCategories() | Select-Object Title, Id

Solution

After enabling the desired products, disable the parent categories “Office” and “Windows” using their Product IDs.

Get-WsusProduct | Where-Object {
$_.Product.Id -in (           
    '477b856e-65c4-4473-b621-a8b230bb70d9', # Office
    '6964aab4-c5b5-43bd-a17d-ffb4346a8e1d'  # Windows
)} | Set-WSUSProduct -Disable

Then review what Products are enabled and you will no longer see “Office” and “Windows”.

$wsus = Get-WsusServer
$wsus.GetSubscription().GetUpdateCategories() | Select-Object Title, Id

Issue # 2 – WSUS Configuration Wizard appears when opening the WSUS Management Console

After a PowerShell script completes a successful WSUS installation and configuration when you open the Windows Server Update Services Management Console you are still presented with the Windows Server Update Services Configuration Wizard which would be best to hide.  The wizard prompts you to configure your WSUS server which was already done using the PowerShell script.

Solution

Change the WSUS Configuration property OobeInitialized in $wsus.GetConfiguration() from $false to $true.

$wsus = Get-WSUSServer
$wsusConfig = $wsus.GetConfiguration()
$wsusConfig.OobeInitialized = $true
$wsusConfig.Save()


Mike Driest