Automating WSUS via PowerShell

J’ai written a script with the intention of quickly managing the WSUS process, and J’ai quelques things I hard coded in, but would rather get with PowerShell. In particular, the ‘Target’ groups for Approve-WsusUpdate.

Currently I’m doing something like this:

#Select Target Group for Update Approval:

$TargetComputerGroups = "All Computers", "Unassigned Computers", "Clients", "Servers", "Test", "View Templates"

$UserPrompt = @"

Please select a Computer Group from the below options:

1) All Computers (Selects all of the below)
2) Unassigned Computers
3) Clients
4) Servers
5) Test
6) View Templates

Enter selection
"@

###Record user selection to varirable
$TargetComputerGroupTemp = Read-Host -Prompt $UserPrompt

###Convert their choice to the correct 0-index array value.
$TargetComputerIndex = $TargetComputerGroupTemp -1

$ComputerTarget = $TargetComputerGroups[$TargetComputerIndex]

Is there a ‘get-targets’ command which will create an array of available target groups? This way I could remove the manual declaration of $TargetComputerGroups.

De plus, J’aimerais to make the $UserPrompt a better set of code (again avoiding manual declarations). Je pense doing something like '$i for $i in $TargetComputerGroups' write-host 'Press 1 for i'

That being said, I am VERY new to this, so Je ne sais pas the best way to do that (ideally mapping their selection to the correct group in that statement!).


Source : Server Fault

Vous pouvez do it with PowerShell, but you need to have the WSUS administration console installed on the machine too.

Vous pouvez then do le suivant.

[void][reflection.assembly]::LoadWithPartialName("Microsoft.UpdateServices.Administration")

$wsus = [Microsoft.UpdateServices.Administration.AdminProxy]::getUpdateServer(“wsus_server”,$False)

$wsus

Vous pouvez then get a list of target groups with

$wsus.GetComputerTargetGroups()

Or select a group with

$targetgroup = $wsus.GetComputerTargetGroups() | ? {$_.Name -eq "some target name"}

TVoici much more information in Use PowerShell to Perform Basic Administrative Tasks on WSUS, but ce qui précède information will get you information on the groups.