Add-VMHostAssignableDevice

Adds an assignable device to a virtual machine (VM) host.

Syntax

Add-VMHostAssignableDevice
   [-CimSession <CimSession[]>]
   [-ComputerName <String[]>]
   [-Credential <PSCredential[]>]
   [-Force]
   [-InstancePath <String>]
   [-LocationPath <String>]
   -ResourcePoolName <String[]>
   [<CommonParameters>]
Add-VMHostAssignableDevice
   [-Force]
   [-HostAssignableDevice] <VMHostAssignableDevice[]>
   -ResourcePoolName <String[]>
   [<CommonParameters>]

Description

The Add-VMHostAssignableDevice cmdlet assigns a hardware device to a virtual machine host. You can add devices to the VM host by providing either the instance or location path of the device, or by specifying an existing host-assignable device object.

Examples

Example 1

$params = @{
ComputerName = "MyVM01"
InstancePath = "PCI\VEN_8086&DEV_0F48&SUBSYS_72708086&REV_0B\3&11583659&0&D8"
ResourcePoolName = "MyResourcePool"
}
Add-VMHostAssignableDevice $params

This example assigns a device identified by its instance path to VM host MyVM01 within the resource pool MyResourcePool.

Example 2

$gpu = Get-VMHostAssignableDevice
Add-VMHostAssignableDevice -HostAssignableDevice $gpu -ResourcePoolName "GpuChildPool"

This example retrieves a list of GPUs or other assignable devices and adds these devices to a resource pool named GpuChildPool, making the devices available for use by virtual machines in that resource pool.

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 the name of the Hyper-V host to which the device is to be added. NetBIOS names, IP addresses, and fully qualified domain names are allowed. 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

-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

-Force

Forces the command to run without asking for user confirmation.

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

-HostAssignableDevice

Specifies the device object to be assigned to the virtual machine.

Type:VMHostAssignableDevice[]
Aliases:VMHostAssignableDevice
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-InstancePath

Represents the Device Instance path in the host machine.

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

-LocationPath

Specifies the location path to the assignable device.

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

-ResourcePoolName

Specifies the name of the resource pool to which the device is assigned.

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

Inputs

Microsoft.HyperV.PowerShell.VMHostAssignableDevice[]

Outputs

Object