Compartir a través de


New-AzVMConfig

Crea un objeto de máquina virtual configurable.

Sintaxis

New-AzVMConfig
   [-VMName] <String>
   [-VMSize] <String>
   [[-AvailabilitySetId] <String>]
   [[-LicenseType] <String>]
   [-Zone <String[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-MaxPrice <Double>]
   [-EvictionPolicy <String>]
   [-Priority <String>]
   [-Tags <Hashtable>]
   [-EnableUltraSSD]
   [-EncryptionAtHost]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-UserData <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]
New-AzVMConfig
   [-VMName] <String>
   [-VMSize] <String>
   [[-AvailabilitySetId] <String>]
   [[-LicenseType] <String>]
   [-IdentityType] <ResourceIdentityType>
   [-IdentityId <String[]>]
   [-Zone <String[]>]
   [-ProximityPlacementGroupId <String>]
   [-HostId <String>]
   [-VmssId <String>]
   [-MaxPrice <Double>]
   [-EvictionPolicy <String>]
   [-Priority <String>]
   [-Tags <Hashtable>]
   [-EnableUltraSSD]
   [-EncryptionAtHost]
   [-CapacityReservationGroupId <String>]
   [-ImageReferenceId <String>]
   [-DiskControllerType <String>]
   [-UserData <String>]
   [-PlatformFaultDomain <Int32>]
   [-HibernationEnabled]
   [-vCPUCountAvailable <Int32>]
   [-vCPUCountPerCore <Int32>]
   [-SharedGalleryImageId <String>]
   [-SecurityType <String>]
   [-EnableVtpm <Boolean>]
   [-EnableSecureBoot <Boolean>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

El cmdlet New-AzVMConfig crea un objeto de máquina virtual local configurable para Azure.

Los siguientes cmdlets se usan para establecer propiedades diferentes del objeto de máquina virtual:

Ejemplos

Ejemplo 1: Creación de un recurso de máquina virtual

$rgname = "resourceGroupName";
$loc = "eastus";

New-AzResourceGroup -Name $rgname -Location $loc -Force;

# General Setup
$vmname = 'v' + $rgname;
$domainNameLabel = "d1" + $rgname;
$vmSize = 'Standard_DS3_v2';
$computerName = "c" + $rgname;
$securityTypeStnd = "Standard";
        
# Credential. Input Username and Password values
$user = "";
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;  
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
        
# Creating a VMConfig 
$vmconfig = New-AzVMConfig -VMName $vmname -vmsize $vmsize -SecurityType $securityTypeStnd;

# Set source image values
$publisherName = "MicrosoftWindowsServer";
$offer = "WindowsServer";
$sku = "2019-DataCenter";
$vmconfig = Set-AzVMSourceImage -VM $vmconfig -PublisherName $publisherName -Offer $offer -Skus $sku -Version 'latest';

# NRP Setup
$subnet = New-AzVirtualNetworkSubnetConfig -Name ('subnet' + $rgname) -AddressPrefix "10.0.0.0/24";
$vnet = New-AzVirtualNetwork -Force -Name ('vnet' + $rgname) -ResourceGroupName $rgname -Location $loc -AddressPrefix "10.0.0.0/16" -Subnet $subnet;
$vnet = Get-AzVirtualNetwork -Name ('vnet' + $rgname) -ResourceGroupName $rgname;
$subnetId = $vnet.Subnets[0].Id;
$pubip = New-AzPublicIpAddress -Force -Name ('pubip' + $rgname) -ResourceGroupName $rgname -Location $loc -AllocationMethod Static -DomainNameLabel $domainNameLabel;
$pubip = Get-AzPublicIpAddress -Name ('pubip' + $rgname) -ResourceGroupName $rgname;
$pubipId = $pubip.Id;
$nic = New-AzNetworkInterface -Force -Name ('nic' + $rgname) -ResourceGroupName $rgname -Location $loc -SubnetId $subnetId -PublicIpAddressId $pubip.Id;
$nic = Get-AzNetworkInterface -Name ('nic' + $rgname) -ResourceGroupName $rgname;
$nicId = $nic.Id;

$vmconfig = Add-AzVMNetworkInterface -VM $vmconfig -Id $nicId;
$vmconfig = Set-AzVMOperatingSystem -VM $vmconfig -Windows -ComputerName $computerName -Credential $cred;

# Create the VM
New-AzVM -ResourceGroupName $rgname -Location $loc -Vm $vmconfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;

Ejemplo 2: Creación de un objeto de máquina virtual en un conjunto de escalado de máquinas virtuales con la configuración de dominios de error

$rgname = "resourceGroupName";
$loc = "eastus";
$vmname = "vm" + $rgname;

New-AzResourceGroup -Name $rgname -Location $loc -Force;

$domainNameLabel = "d1" + $rgname;
$vmname = "v" + $rgname;
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$vmssName = "vmss" + $rgname;
$faultDomainNumber = 2;
$vmssFaultDomain = 3;
$securityTypeStnd = "Standard";

$OSDiskName = $vmname + "-osdisk";
$NICName = $vmname+ "-nic";
$NSGName = $vmname + "-NSG";
$OSDiskSizeinGB = 128;
$VMSize = "Standard_DS2_v2";
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2019-Datacenter";
        
# Credential. Input Username and Password values.
$user = "";
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;  
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);

$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;

$vmssConfig = New-AzVmssConfig -Location $loc -PlatformFaultDomainCount $vmssFaultDomain -SecurityType $securityTypeStnd;
$vmss = New-AzVmss -ResourceGroupName $RGName -Name $VMSSName -VirtualMachineScaleSet $vmssConfig;

$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $RGName -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $RGName -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;

# VM
$vmConfig = New-AzVMConfig -VMName $vmName -VMSize $VMSize  -VmssId $vmss.Id -PlatformFaultDomain $faultDomainNumber -SecurityType $securityTypeStnd;
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmName -Credential $cred ;
Set-AzVMOSDisk -VM $vmConfig -StorageAccountType "Premium_LRS" -Caching ReadWrite -Name $OSDiskName -DiskSizeInGB $OSDiskSizeinGB -CreateOption FromImage ;
Set-AzVMSourceImage -VM $vmConfig -PublisherName $PublisherName -Offer $Offer -Skus $SKU -Version latest ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;

New-AzVM -ResourceGroupName $RGName -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmName;

Ejemplo 2: Crear una máquina virtual mediante el objeto Config de máquina virtual para trustedLaunch Security Type, las marcas Vtpm y Secure Boot se establecen en True de forma predeterminada.

$rgname = "rgname";
$loc = "eastus";
New-AzResourceGroup -Name $rgname -Location $loc -Force;    
 
# VM Profile & Hardware
$domainNameLabel = "d1" + $rgname;
$vmsize = 'Standard_D4s_v3';
$vmname = $rgname + 'Vm';
$securityType_TL = "TrustedLaunch";
$vnetname = "myVnet";
$vnetAddress = "10.0.0.0/16";
$subnetname = "slb" + $rgname;
$subnetAddress = "10.0.2.0/24";
$OSDiskName = $vmname + "-osdisk";
$NICName = $vmname+ "-nic";
$NSGName = $vmname + "-NSG";
$OSDiskSizeinGB = 128;
$PublisherName = "MicrosoftWindowsServer";
$Offer = "WindowsServer";
$SKU = "2016-datacenter-gensecond";
$disable = $false;
$enable = $true;
$extDefaultName = "GuestAttestation";
$vmGADefaultIDentity = "SystemAssigned";
# Credential
$securePassword = ConvertTo-SecureString -String "****" -AsPlainText -Force;  
$user = <Username>;
$cred = New-Object System.Management.Automation.PSCredential ($user, $securePassword);
# Network resources
$frontendSubnet = New-AzVirtualNetworkSubnetConfig -Name $subnetname -AddressPrefix $subnetAddress;
$vnet = New-AzVirtualNetwork -Name $vnetname -ResourceGroupName $rgname -Location $loc -AddressPrefix $vnetAddress -Subnet $frontendSubnet;
$nsgRuleRDP = New-AzNetworkSecurityRuleConfig -Name RDP  -Protocol Tcp  -Direction Inbound -Priority 1001 -SourceAddressPrefix * -SourcePortRange * -DestinationAddressPrefix * -DestinationPortRange 3389 -Access Allow;
$nsg = New-AzNetworkSecurityGroup -ResourceGroupName $rgname -Location $loc -Name $NSGName  -SecurityRules $nsgRuleRDP;
$nic = New-AzNetworkInterface -Name $NICName -ResourceGroupName $rgname -Location $loc -SubnetId $vnet.Subnets[0].Id -NetworkSecurityGroupId $nsg.Id -EnableAcceleratedNetworking;
# Configure Values using VMConfig Object
$vmConfig = New-AzVMConfig -VMName $vmname -VMSize $vmsize;
Set-AzVMOperatingSystem -VM $vmConfig -Windows -ComputerName $vmname -Credential $cred;
Set-AzVMSourceImage -VM $vmConfig -PublisherName $PublisherName -Offer $Offer -Skus $SKU -Version latest ;
Add-AzVMNetworkInterface -VM $vmConfig -Id $nic.Id;
  
# VM Creation using VMConfig for Trusted Launch SecurityType
$vmConfig = Set-AzVMSecurityProfile -VM $vmConfig -SecurityType $securityType_TL;
New-AzVM -ResourceGroupName $rgname -Location $loc -VM $vmConfig;
$vm = Get-AzVM -ResourceGroupName $rgname -Name $vmname;
# Validate that for -SecurityType "TrustedLaunch", "-Vtpm" and "-SecureBoot" are "Enabled/true"
#$vm.SecurityProfile.UefiSettings.VTpmEnabled $true;
#$vm.SecurityProfile.UefiSettings.SecureBootEnabled $true;

En este ejemplo se crea una máquina virtual mediante un objeto VMConfig para el tipo de seguridad TrustedLaunch y se validan las marcas VtpmEnabled y SecureBootEnabled de forma predeterminada.

Parámetros

-AvailabilitySetId

Especifica el identificador de un conjunto de disponibilidad. Para obtener un objeto de conjunto de disponibilidad, use el cmdlet Get-AzAvailabilitySet. El objeto del conjunto de disponibilidad contiene una propiedad ID.
Las máquinas virtuales especificadas en el mismo conjunto de disponibilidad se asignan a distintos nodos para maximizar la disponibilidad.
Para más información sobre los conjuntos de disponibilidad, consulte Administración de la disponibilidad de las máquinas virtuales.
Para más información sobre el mantenimiento planeado de Azure, consulte Mantenimiento planeado de máquinas virtuales en Azure.
Actualmente, una máquina virtual solo se puede agregar al conjunto de disponibilidad en el momento de la creación. El conjunto de disponibilidad al que se va a agregar la máquina virtual debe estar en el mismo grupo de recursos que el recurso del conjunto de disponibilidad. No se puede agregar una máquina virtual existente a un conjunto de disponibilidad.
Esta propiedad no puede existir junto con una referencia properties.virtualMachineScaleSet que no sea NULL.

Tipo:String
Posición:2
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-CapacityReservationGroupId

Identificador del grupo de reserva de capacidad que se usa para asignar.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DefaultProfile

Las credenciales, la cuenta, el inquilino y la suscripción que se usan para la comunicación con Azure.

Tipo:IAzureContextContainer
Alias:AzContext, AzureRmContext, AzureCredential
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-DiskControllerType

Especifica el tipo de controlador de disco configurado para la máquina virtual y VirtualMachineScaleSet. Esta propiedad solo se admite para las máquinas virtuales cuyo disco del sistema operativo y la SKU de máquina virtual admiten la generación 2 (https://learn.microsoft.com/en-us/azure/virtual-machines/generation-2), compruebe la funcionalidad HyperVGenerations devuelta como parte de las funcionalidades de SKU de máquina virtual en la respuesta de la API de SKU de Microsoft.Compute para la región contiene V2 (https://learn.microsoft.com/rest/api/compute/resourceskus/list).
Para obtener más información sobre los tipos de controlador de disco admitidos, consulte https://aka.ms/azure-diskcontrollertypes.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EnableSecureBoot

Especifica si se debe habilitar el arranque seguro en la máquina virtual.

Tipo:Nullable<T>[Boolean]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EnableUltraSSD

Habilita una capacidad para tener uno o varios discos de datos administrados con UltraSSD_LRS tipo de cuenta de almacenamiento en la máquina virtual. Los discos administrados con el tipo de cuenta de almacenamiento UltraSSD_LRS se pueden agregar a una máquina virtual solo si esta propiedad está habilitada.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EnableVtpm

Especifica si vTPM debe estar habilitado en la máquina virtual.

Tipo:Nullable<T>[Boolean]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-EncryptionAtHost

El usuario puede usar la propiedad EncryptionAtHost en la solicitud para habilitar o deshabilitar el cifrado de host para la máquina virtual o el conjunto de escalado de máquinas virtuales. Esto habilitará el cifrado para todos los discos, incluido el recurso o el disco temporal en el propio host. Valor predeterminado: el cifrado en el host se deshabilitará a menos que esta propiedad esté establecida en true para el recurso.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:False
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-EvictionPolicy

Directiva de expulsión de la máquina virtual de Acceso puntual de Azure. Los valores admitidos son "Deallocate" y "Delete".

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-HibernationEnabled

Marca que habilita o deshabilita la funcionalidad de hibernación en la máquina virtual.

Tipo:SwitchParameter
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-HostId

El identificador del host

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-IdentityId

Especifica la lista de identidades de usuario asociadas al conjunto de escalado de máquinas virtuales. Las referencias de identidad de usuario serán identificadores de recursos de ARM con el formato : '/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.ManagedIdentity/identities/{identityName}'

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-IdentityType

Identidad de la máquina virtual, si está configurada.

Tipo:Nullable<T>[ResourceIdentityType]
Valores aceptados:SystemAssigned, UserAssigned, SystemAssignedUserAssigned, None
Posición:4
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-ImageReferenceId

Se especificó el identificador único de la imagen de la galería compartida para la implementación de la máquina virtual. Esto se puede capturar desde la llamada GET de la imagen de la galería compartida.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-LicenseType

Especifica un tipo de licencia, que indica que la imagen o el disco de la máquina virtual tenía una licencia local. Los valores posibles para Windows Server son:

  • Windows_Client
  • Windows_Server

Los valores posibles para el sistema operativo Linux Server son:

  • RHEL_BYOS (para RHEL)
  • SLES_BYOS (para SUSE)
Tipo:String
Posición:3
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-MaxPrice

Especifica el precio máximo que está dispuesto a pagar por una máquina virtual o VMSS de prioridad baja. Este precio está en dólares estadounidenses. Este precio se comparará con el precio actual de prioridad baja para el tamaño de la máquina virtual. Además, los precios se comparan en el momento de crear o actualizar máquinas virtuales o VMSS de prioridad baja y la operación solo se realizará correctamente si maxPrice es mayor que el precio actual de prioridad baja. El maxPrice también se usará para expulsar una máquina virtual o VMSS de prioridad baja si el precio actual de prioridad baja va más allá del maxPrice después de la creación de VM/VMSS. Los valores posibles son: cualquier valor decimal mayor que cero. Ejemplo: 0.01538. -1 indica que la máquina virtual o VMSS de prioridad baja no se debe expulsar por motivos de precio. Además, el precio máximo predeterminado es -1 si no lo proporciona usted.

Tipo:Double
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-PlatformFaultDomain

Especifica el dominio de error de la máquina virtual.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Priority

Prioridad de la máquina virtual. Solo los valores admitidos son "Regular", "Spot" y "Low". "Regular" es para la máquina virtual normal. "Spot" es para la máquina virtual de acceso puntual. "Low" también es para la máquina virtual de acceso puntual, pero se reemplaza por "Spot". Use "Spot" en lugar de "Low".

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-ProximityPlacementGroupId

Identificador de recurso del grupo de selección de ubicación de proximidad que se va a usar con esta máquina virtual.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SecurityType

Especifica securityType de la máquina virtual. Debe establecerse en cualquier valor especificado para habilitar UefiSettings. De forma predeterminada, UefiSettings no se habilitará a menos que se establezca esta propiedad.

Tipo:String
Valores aceptados:TrustedLaunch, ConfidentialVM, Standard
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-SharedGalleryImageId

Se especificó el identificador único de la imagen de la galería compartida para la implementación de la máquina virtual. Esto se puede capturar desde la llamada GET de la imagen de la galería compartida.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:False
Aceptar caracteres comodín:False

-Tags

Etiquetas asociadas al recurso.

Tipo:Hashtable
Alias:Tag
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-UserData

UserData para la máquina virtual, que se codificará en base 64. El cliente no debe pasar ningún secreto aquí.

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-vCPUCountAvailable

Especifica el número de vCPU disponibles para la máquina virtual. Cuando esta propiedad no se especifica en el cuerpo de la solicitud, el comportamiento predeterminado es establecerlo en el valor de las vCPU disponibles para ese tamaño de máquina virtual expuesto en la respuesta de api de Enumerar todos los tamaños de máquina virtual disponibles en una región.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-vCPUCountPerCore

Especifica la relación de núcleos físicos de vCPU. Cuando esta propiedad no se especifica en el cuerpo de la solicitud, el comportamiento predeterminado se establece en el valor de vCPUsPerCore para el tamaño de máquina virtual expuesto en la respuesta de api de Enumerar todos los tamaños de máquina virtual disponibles en una región. Establecer esta propiedad en 1 también significa que el hyper-threading está deshabilitado.

Tipo:Int32
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VMName

Especifica un nombre para la máquina virtual.

Tipo:String
Alias:ResourceName, Name
Posición:0
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VMSize

Especifica el tamaño de la máquina virtual. Get-AzComputeResourceSku se puede usar para averiguar los tamaños disponibles de su suscripción y región.

Tipo:String
Posición:1
Valor predeterminado:None
Requerido:True
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-VmssId

Identificador del conjunto de escalado de máquinas virtuales

Tipo:String
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

-Zone

Especifica la zona de disponibilidad de la máquina virtual. Aunque toma una matriz de zonas, las máquinas virtuales no admiten varias zonas de disponibilidad. El valor permitido depende de las funcionalidades de la región. El valor permitido normalmente será 1, 2 o 3. Más información sobre las zonas de disponibilidad de Azure.

Tipo:String[]
Posición:Named
Valor predeterminado:None
Requerido:False
Aceptar entrada de canalización:True
Aceptar caracteres comodín:False

Entradas

String

String[]

Hashtable

SwitchParameter

Salidas

PSVirtualMachine