Add-VMGroupMember

Adds group members to a virtual machine group.

Syntax

Add-VMGroupMember
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Name] <String>
   [-VM] <VirtualMachine[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMGroupMember
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Name] <String>
   [-VMGroupMember] <VMGroup[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMGroupMember
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Id] <Guid>
   [-VM] <VirtualMachine[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMGroupMember
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Id] <Guid>
   [-VMGroupMember] <VMGroup[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMGroupMember
   [-VMGroup] <VMGroup>
   [-VMGroupMember] <VMGroup[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]
Add-VMGroupMember
   [-VMGroup] <VMGroup>
   [-VM] <VirtualMachine[]>
   [-Passthru]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

Description

The Add-VMGroupMember cmdlet adds members to a virtual machine group. Groups can contain either virtual machines or groups of virtual machines.

Examples

Example 1: Add virtual machines to a group

PS C:\> $VM01 = Get-VM -Name "ContosoVirtualMachine01"
PS C:\> $VM02 = Get-VM -Name "ContosoVirtualMachine02"
PS C:\> Add-VMGroupMember -Name "VirtualMachineGroup" -VM $VM01, $VM02

The first two commands use the Get-VM cmdlet to get virtual machines named ContosoVirtualMachine01 and ContosoVirtualMachine02. The commands store these virtual machine objects in the $VM01 and $VM02 variables.

The final command adds the virtual machines in $VM01 and $VM02 to the virtual machine group named VirtualMachineGroup.

Example 2: Add groups to a group

PS C:\> $VMGroup01 = Get-VMGroup -Name "ContosoGroup01"
PS C:\> $VMGroup02 = Get-VMGroup -Name "ContosoGroup02"
PS C:\> Add-VMGroupMember -Name "ContosoMainGroup" -VMGroupMember $VMGroup01, $VMGroup02

The first two commands use the Get-VMGroup cmdlet to get virtual machine groups named ContosoGroup01 and ContosoGroup02. The commands store these group objects in the $VMGroup01 and $VMGroup02 variables.

The final commad adds the groups in $VMGroup01 and $VMGroup02 to the group named ContosoMainGroup.

Parameters

-CimSession

Runs the cmdlet in a remote session or on a remote computer. Enter a computer name or a session object, such as the output of a New-CimSession or Get-CimSession cmdlet. The default is the current session on the local computer.

Type:CimSession[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-ComputerName

Specifies on or more Hyper-V hosts where this cmdlet adds a group member. NetBIOS names, IP addresses, and fully qualified domain names are allowable. The default is the local computer. Use localhost or a dot (.) to specify the local computer explicitly.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Confirm

Prompts you for confirmation before running the cmdlet.

Type:SwitchParameter
Aliases:cf
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Credential

Specifies one or more user accounts that have permission to perform this action. The default is the current user.

Type:PSCredential[]
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Id

Specifies the unique ID of the virtual machine group to which this cmdlet adds virtual machines or groups of virtual machines.

Type:Guid
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Name

Specifies the name of the virtual machine group to which this cmdlet adds virtual machines or groups of virtual machines.

Type:String
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Passthru

Indicates that this cmdlet returns the Microsoft.HyperV.PowerShell.VMGroup object that it configures.

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-VM

Specifies an array of virtual machines that this cmdlet adds to a virtual machine group. To obtain a VirtualMachine object, use the Get-VM cmdlet.

Type:VirtualMachine[]
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VMGroup

Specifies the virtual machine group to which this cmdlet adds virtual machines or groups of virtual machines. To obtain a VMGroup object, use the Get-VMGroup cmdlet.

Type:VMGroup
Position:0
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-VMGroupMember

Specifies an array of virtual machine groups that this cmdlet adds to a virtual machine group.

Type:VMGroup[]
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-WhatIf

Shows what would happen if the cmdlet runs. The cmdlet is not run.

Type:SwitchParameter
Aliases:wi
Position:Named
Default value:False
Required:False
Accept pipeline input:False
Accept wildcard characters:False

Outputs

Microsoft.HyperV.PowerShell.VMGroup

This cmdlet returns a VMGroup object, if you specify the Passthru parameter.