Citrix Daas SDK

Set-ProvVM

Changes the configuration for a specific provisioned virtual machine.

Syntax

Set-ProvVM -ProvisioningSchemeName <String> -VMName <String> [-CpuCount <Int32>] [-MemoryInMB <Int32>] [-CustomProperties <String>] [-ServiceOffering <String>] [-MachineProfile <String>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeName <String> -VMId <String> [-CpuCount <Int32>] [-MemoryInMB <Int32>] [-CustomProperties <String>] [-ServiceOffering <String>] [-MachineProfile <String>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeName <String> -VMName <String> -RevertToProvSchemeConfiguration [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeName <String> -VMId <String> -RevertToProvSchemeConfiguration [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeUid <Guid> -VMName <String> [-CpuCount <Int32>] [-MemoryInMB <Int32>] [-CustomProperties <String>] [-ServiceOffering <String>] [-MachineProfile <String>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeUid <Guid> -VMId <String> [-CpuCount <Int32>] [-MemoryInMB <Int32>] [-CustomProperties <String>] [-ServiceOffering <String>] [-MachineProfile <String>] [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeUid <Guid> -VMName <String> -RevertToProvSchemeConfiguration [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]

Set-ProvVM -ProvisioningSchemeUid <Guid> -VMId <String> -RevertToProvSchemeConfiguration [-LoggingId <Guid>] [-BearerToken <String>] [-AdminClientIP <String>] [-TraceParent <String>] [-TraceState <String>] [-VirtualSiteId <String>] [-AdminAddress <String>] [<CommonParameters>]
<!--NeedCopy-->

Detailed Description

Provides the ability to update the configuration of an existing persistent provisioned virtual machine.

These properties are specific customizations unique to the virtual machine and do not apply to any other VMs in the catalog. The final properties the machine will use are a combination of those currently set on the provisioning scheme combines with the settings specified here. Any properties set at the ProvVM-level with this command will override any settings at the ProvScheme-level.

To view the current specific configuration for a machine, use Get-ProvVMConfiguration

To view the final set of properties a machine will have applied (taking into account ProvScheme-level settings), use Get-ProvVMConfigurationResultantSet

Any configuration changes made will not apply right away to the machine. To apply the updates, set an update time window for the machine with Set-ProvVMUpdateTimeWindow and start the machine within the window.

Parameters

Name Description Required? Pipeline Input Default Value
ProvisioningSchemeName The name of the provisioning scheme the VM is a part of true false  
VMName The VM name true false  
VMId The VM ID true false  
RevertToProvSchemeConfiguration If supplied, all existing configuration is cleared for the given machine. It is mutally exclusive with parameters that apply configuration settings true false  
ProvisioningSchemeUid The identifier of the provisioning scheme the VM is a part of true false  
CpuCount The number of processors. Not supported for cloud hypervisors false false  
MemoryInMB The maximum amount of memory in megabytes. Not supported for cloud hypervisors false false  
CustomProperties The properties of the provisioned virtual machine that are specific to the target hosting infrastructure. See about_ProvCustomProperties for more information. If a property name already exists its value is updated; otherwise it is added. These properties are merged with prior custom properties set. false false  
ServiceOffering The cloud ServiceOffering to use. Not supported for on-prem hypervisors false false  
MachineProfile A path to the template used to obtain hypervisor-specific settings to be applied to the VM. Some settings have a corresponding CustomProperty. If any properties are present in the MachineProfile but not the CustomProperties, values from the template will be written to the CustomProperties. false false  
LoggingId Specifies the identifier of the high-level operation this cmdlet call forms a part of. Citrix Studio and Director typically create high-level operations. PowerShell scripts can also wrap a series of cmdlet calls in a high-level operation by way of the Start-LogHighLevelOperation and Stop-LogHighLevelOperation cmdlets. false false  
BearerToken Specifies the bearer token assigned to the calling user false false  
AdminClientIP Specifies the Client IP of the calling user false false  
TraceParent Specifies the trace parent assigned for internal diagnostic tracing use false false  
TraceState Specifies the trace state assigned for internal diagnostic tracing user false false  
VirtualSiteId Specifies the virtual site the PowerShell snap-in will connect to. false false  
AdminAddress The address of a Citrix Virtual Apps and Desktops controller the PowerShell snap-in will connect to. You can provide this as a host name or an IP address. false false Localhost. Once a value is provided by any cmdlet, this value becomes the default.

Input Type

Return Values

Examples

Example 1

C:\PS> Get-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 | select VMName, ProvVMConfigurationVersion

VMName      ProvVMConfigurationVersion

------  --------------------

machine1

C:\PS> Get-ProvVMConfiguration

C:\PS> Set-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 -CpuCount 2

C:\PS> Get-ProvVMConfiguration

CpuCount               : 2

CustomProperties       :

MachineProfile         :

MemoryInMB             :

ProvisioningSchemeName : MyScheme

ProvisioningSchemeUid  : 378cece5-a824-41f7-9e92-74be76672be6

ServiceOffering        :

VMId                   : 0707da6d-2f0f-a8c7-ce92-3d64f824ac60

VMMetadata             :

VMName                 : machine1

Version                : 1

C:\PS> Get-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 | select VMName, ProvVMConfigurationVersion

VMName      ProvVMConfigurationVersion

------  --------------------

machine1

c:\PS> Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName MyScheme -StartsNow -DurationInMinutes -1

c:\PS> New-BrokerHostingPowerAction -Action "Restart" -MachineName machine1

c:\PS> Get-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 | select VMName, ProvVMConfigurationVersion

VMName      ProvVMConfigurationVersion

------  --------------------

machine1                       1
<!--NeedCopy-->

Description

Sets the configuration for machine1 to use 2 CPUs. Sets an update time window starting now and reboots the machine to apply the update.

Example 2

C:\PS> Get-ProvVMConfiguration

CpuCount               : 8

CustomProperties       :

MachineProfile         :

MemoryInMB             : 4096

ProvisioningSchemeName : MyScheme

ProvisioningSchemeUid  : 378cece5-a824-41f7-9e92-74be76672be6

ServiceOffering        :

VMId                   : 0707da6d-2f0f-a8c7-ce92-3d64f824ac60

VMMetadata             :

VMName                 : machine1

Version                : 7

C:\PS> Set-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 -RevertToProvSchemeConfiguration

C:\PS> Get-ProvVMConfiguration

CpuCount               :

CustomProperties       :

MachineProfile         :

MemoryInMB             :

ProvisioningSchemeName : MyScheme

ProvisioningSchemeUid  : 378cece5-a824-41f7-9e92-74be76672be6

ServiceOffering        :

VMId                   : 0707da6d-2f0f-a8c7-ce92-3d64f824ac60

VMMetadata             :

VMName                 : machine1

Version                : 8

c:\PS> Get-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 | select VMName, ProvVMConfigurationVersion

VMName      ProvVMConfigurationVersion

------  --------------------

machine1                       7

c:\PS> Set-ProvVMUpdateTimeWindow -ProvisioningSchemeName MyScheme -StartsNow -DurationInMinutes -1

c:\PS> New-BrokerHostingPowerAction -Action "Restart" -MachineName machine1

c:\PS> Get-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 | select VMName, ProvVMConfigurationVersion

VMName      ProvVMConfigurationVersion

------  --------------------

machine1                       8
<!--NeedCopy-->

Description

Clears existing configuration for machine1. Sets an update time window starting now and reboots the machine to clear the configuration.

Example 3

C:\PS> Get-ProvVMConfiguration

CpuCount               :

CustomProperties       : <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

                         <Property xsi:type="StringProperty" Name="WBCDiskStorageType" Value="Premium_LRS" />

                         </CustomProperties>

MachineProfile         :

MemoryInMB             :

ProvisioningSchemeName : MyScheme

ProvisioningSchemeUid  : 378cece5-a824-41f7-9e92-74be76672be6

ServiceOffering        : serviceoffering.folder\Standard_D2s_v5.serviceoffering

VMId                   : 0707da6d-2f0f-a8c7-ce92-3d64f824ac60

VMMetadata             :

VMName                 : machine1

Version                : 1

C:\PS> Set-ProvVM -ProvisioningSchemeName MyScheme -VMName machine1 -MachineProfile "XDHyp:\HostingUnits\AzureRes\machineprofile.folder\TestRG.resourcegroup\machineProfile.vm"

C:\PS> Get-ProvVMConfiguration

CpuCount               :

CustomProperties       : <CustomProperties xmlns="http://schemas.citrix.com/2014/xd/machinecreation" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">

                         <Property xsi:type="StringProperty" Name="StorageType" Value="Premium_LRS" />

                         <Property xsi:type="StringProperty" Name="WBCDiskStorageType" Value="Premium_LRS" />

                         </CustomProperties>

MachineProfile         : machineprofile.folder\TestRG.resourcegroup\machineProfile.vm

MemoryInMB             :

ProvisioningSchemeName : MyScheme

ProvisioningSchemeUid  : 378cece5-a824-41f7-9e92-74be76672be6

ServiceOffering        : serviceoffering.folder\Standard_D2s_v3.serviceoffering

VMId                   : 0707da6d-2f0f-a8c7-ce92-3d64f824ac60

VMMetadata             :

VMName                 : machine1

Version                : 2
<!--NeedCopy-->

Description

Configures machine1 to have a custom MachineProfile. ServiceOffering and CustomProperties were read from MachineProfile and set on the configuration

Set-ProvVM