Update-SCVMMManagedComputer

Updates VMM agent software installed on a Windows-based managed computer.

Description

The Update-SCVMMManagedComputer cmdlet updates System Center Virtual Machine Manager (VMM) agent software installed on a Windows-based managed computer to the current version of the software. 

If you upgrade your VMM management server to a later version of the VMM service, afterward you can use this command to update agent software on computers that are managed by that VMM management server. 

Managed computers that you can update by using this cmdlet include:

- Hyper-V hosts
- Windows-based library servers
- Windows-based P2V source computers

You can use the Update-SCVMMManagedComputer cmdlet to update the VMM agent software on domain-joined trusted hosts and non-trusted domain-joined hosts, but not on hosts located on a perimeter network.

For more information about Update-SCVMMManagedComputer, type: "Get-Help Update-SCVMMManagedComputer -online".

Parameters

VMMManagedComputer

Required? true
Accept Pipeline Input? true (ByValue)
Position? 0
Specifies a computer object that is managed by VMM.

Credential

Required? true
Accept Pipeline Input? true (ByValue)
Position? named
Specifies a credential object or, for some cmdlets, a Run As account object that contains the user name and password of an account that has permission to perform this action. Or, in the case of Restart-SCJob, has permission to complete a restarted task. 

For more information about the PSCredential object, type: "Get-Help Get-Credential". 
For more information about Run As accounts, type: "Get-Help New-SCRunAsAccount".

JobVariable

Required? false
Accept Pipeline Input? false
Position? named
Specifies that job progress is tracked and stored in the variable named by this parameter. 

PROTipID

Required? false
Accept Pipeline Input? false
Position? named
Specifies the ID of the PRO tip that triggered this action. This allows for auditing of PRO tips.

RunAsynchronously

Required? false
Accept Pipeline Input? false
Position? named
Indicates that the job runs asynchronously so that control returns to the command shell immediately. 

Examples

1: Update all managed computers.
PS C:\> $Credential = Get-Credential
PS C:\> Get-SCVMMManagedComputer | foreach { Update-SCVMMManagedComputer -VMMManagedComputer $_ -Credential $Credential -RunAsynchronously } 
The first command prompts you to provide credentials with appropriate permissions to perform this operation and stores the credentials in the $Credential variable.

The second command gets all computer objects that are currently managed by VMM and passes each object to "foreach" (the ForEach-Object cmdlet), which uses the Update-SCVMMManagedComputer cmdlet to update the agent software on each managed computer. As this command is processed, $Credential provides your credentials to Update-SCVMMManagedComputer. Note: This example assumes that no managed computers are located in a perimeter network.

For more information about the standard Windows PowerShell ForEach-Object cmdlet, type: "Get-Help ForEach-Object".
2: Update a specific host.
PS C:\> $Credential = Get-Credential
PS C:\> $VMMManagedHost = Get-SCVMMManagedComputer -ComputerName "VMHost01.Contoso.com"
PS C:\> Update-SCVMMManagedComputer -VMMManagedComputer $VMMManagedHost -Credential $Credential
The first command prompts you to provide credentials with appropriate permissions to perform this operation and stores the credentials in the $Credential variable.

The second command gets the managed host object named VMHost01 and stores the object in the $VMMManagedHost variable.

The last command updates the agent software on VMHost01. As this command is processed, $Credential provides your credentials to Update-SCVMMManagedComputer.

See Also