Citrix Virtual Apps and Desktops SDK

Test-ProvSetProvScheme

Test the parameters that can be used for updating provisioning scheme with Set-ProvScheme command

Syntax

Test-ProvSetProvScheme
    [-ProvisioningSchemeName] <String>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvSetProvScheme
    [-ProvisioningSchemeName] <String>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    -IdentityPoolName <String>
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvSetProvScheme
    [-ProvisioningSchemeName] <String>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    -IdentityPoolUid <Guid>
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvSetProvScheme
    -ProvisioningSchemeUid <Guid>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvSetProvScheme
    -ProvisioningSchemeUid <Guid>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    -IdentityPoolName <String>
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvSetProvScheme
    -ProvisioningSchemeUid <Guid>
    [-VMCpuCount <Int32>]
    [-VMMemoryMB <Int32>]
    -IdentityPoolUid <Guid>
    [-CustomProperties <String>]
    [-ServiceOffering <String>]
    [-PassThru]
    [-MachineProfile <String>]
    [-NetworkMapping <Hashtable>]
    [-SecurityGroup <String[]>]
    [-WriteBackCacheDiskSize <Int32>]
    [-WriteBackCacheMemorySize <Int32>]
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->

Description

Provides the ability to validate the parameters of an existing provisioning scheme without actually updating the provisioning scheme. It will output all the validation failures if any.

The following parameters can be tested:

  • Number of CPUs that will be used for VMs created from the provisioning scheme.
  • Maximum amount of memory that will be used for VMs created from the provisioning scheme.
  • Identity pool that will be used for VMs created from the provisioning scheme.
  • Machine profile that will be used for VMs created from the provisioning scheme.
  • Cloud service offering that will be used for VMs created from the provisioning scheme.
  • Custom properties of the provisioning scheme that are specific to the target hosting infrastructure.

Examples

EXAMPLE 1

Validates the given provisioning scheme parameters

Test-ProvSetProvScheme -ProvisioningSchemeName MyScheme -WriteBackCacheDiskSize 50 -VMCpuCount 50 -VMMemoryMB 1000
Parameters               ErrorId                           			    ErrorCategory              ErrorMessage
----------               -------                           			    -------------              ------------
{WriteBackCacheDiskSize} WriteBackCacheParametersNotNeeded 			    McsValidationErrorCategory WriteBackCacheDiskSize is not needed when write back cache is disabled.
{CpuCount, MemoryMB}     CpuAndMemorySettingViaServiceOfferingOnly  McsValidationErrorCategory Hypervisor does not support setting cpu or memory directly, they can only be specified via ServiceOffering.
<!--NeedCopy-->

Parameters

-ProvisioningSchemeName

The name of the provisioning scheme to be updated.

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

-IdentityPoolName

The name of the identity pool to be used for the provisioning scheme, replacing the present one.

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

-IdentityPoolUid

The unique identifier of the identity pool to be used for the provisioning scheme, replacing the present one.

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

-ProvisioningSchemeUid

The identifier of the provisioning scheme to be updated.

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

-VMCpuCount

The number of processors that will be used to create VMs from the provisioning scheme, replacing the present one.

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

-VMMemoryMB

The maximum amount of memory that will be used to created VMs from the provisioning scheme in MB, replacing the present one.

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

-CustomProperties

The properties of the provisioning scheme 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.

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

-ServiceOffering

The Service Offering to use when creating VMs in Cloud Hypervisors, replacing the present one.

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

-PassThru

Returns the affected record. By default, this cmdlet does not generate any output.

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

-MachineProfile

Currently only supported with Azure and AWS. Defines the inventory path to the source VM used by the provisioning scheme as a template. This profile identifies the properties for the VMs created from the scheme. The VM must be in the hosting unit that HostingUnitName or HostingUnitUid refers to. If any properties are present in the MachineProfile but not the CustomProperties, values from the template will be written back to the CustomProperties.

Valid paths are of the format: XDHyp:\HostingUnits\<HostingUnitName>\<path>\<VMName>.vm

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

-NetworkMapping

Specifies how the attached NICs are mapped to networks. If this parameter is omitted, the current NICs setting of the provisioning scheme is not updated; otherwise the NICs setting is updated, and new machines will be created with the number of NICs specified in the map, with each NIC attached to the specified network. Cannot set to an empty value.

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

-SecurityGroup

The Security Groups to use when creating VMs in Cloud Hypervisors, replacing the present one.

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

-WriteBackCacheDiskSize

Specifies the size in Gigabytes of the disk to use as a Write Back Cache when UseWriteBackCache is set during the Provisioning Scheme creation. This parameter can only be set or modified if the Provisioning Scheme was previously created with UseWriteBackCache. This parameter only applies to newly created VMs and does not affect VMs which have already been created from the Provisioning Scheme.

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

-WriteBackCacheMemorySize

Specifies the size in Megabytes of the memory to use as a Write Back Cache when UseWriteBackCache is set during the Provisioning Scheme creation. This parameter can only be set or modified if the Provisioning Scheme was previously created with UseWriteBackCache. This parameter only applies to newly created VMs and does not affect VMs which have already been created from the Provisioning Scheme. Setting this parameter to 0 disables the use of memory for Write Back Cache.

Type: Int32
Position: Named
Default value: None
Required: False
Accept pipeline input: False
Accept wildcard characters: 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.

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

CitrixCommonParameters

This cmdlet supports the common Citrix parameters: -AdminAddress, -AdminClientIP, -BearerToken, -TraceParent, -TraceState and -VirtualSiteId. For more information, see about_CitrixCommonParameters.

CommonParameters

This cmdlet supports the common parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutVariable, -OutBuffer, -PipelineVariable, -Verbose, -WarningAction, and -WarningVariable. For more information, see about_CommonParameters.

Inputs

None

You can’t pipe objects to this cmdlet.

Outputs

IList<Citrix.MachineCreation.Sdk.ProvSchemeValidationFailure>

This object provides a list of validation error messages for given provisioning scheme parameters and contains the following information:

Parameters <IList<string>> Name of the parameter that failed validation

ErrorId <string> Error code

ErrorCategory <string> The source of error - MCS or Plugin

ErrorMessage <string> Friendly message describing the validation failure

Notes

In the case of failure, the following errors can result.

Error Codes


ProvisioningSchemeNotFound The specified provisioning scheme could not be located.

DatabaseError An error occurred in the service while attempting a database operation.

DatabaseNotConfigured The operation could not be completed because the database for the service is not configured.

ServiceStatusInvalidDb An error occurred in the service while attempting a database operation - communication with the database failed for for various reasons.

CommunicationError An error occurred while communicating with the service.

PermissionDenied The user does not have administrative rights to perform this operation.

ConfigurationLoggingError The operation could not be performed because of a configuration logging error.

HostingUnitNotFound The hosting unit referenced by the provisioning scheme could not be resolved.

NetworkPathResolutionFailed The specified network mapping contains invalid or empty network path value.

WriteBackCacheParametersNotNeeded WriteBackCacheDiskSize is not needed when write back cache is disabled.

CpuAndMemorySettingViaServiceOfferingOnly Hypervisor does not support setting cpu or memory directly, they can only be specified via ServiceOffering.

NetworkPathResolutionFailed The specified network path could not be resolved. Please ensure that the path includes a drive specification and path to a location within a HostingUnit.

InvalidMachineProfileMetadata Unable to read the metadata from machine profile.

MachineProfileNotSupportedByHypervisor The hypervisor does not support any functional capability for MachineProfile.

MachineProfileUpdateNotSupported Adding a MachineProfile to the catalog is not supported.

IncorrectTenancyType MachineProfile TenancyType does not match with provisioning scheme.

ServiceOfferingPathResolutionFailed The Service Offering path could not be resolved. Please ensure that the path includes a drive specification and path to a location within a HostingUnit.

SecurityGroupPathResolutionFailed The Security Group path could not be resolved. Please ensure that the path includes a drive specification and path to a location within a HostingUnit.

ExceptionThrown An unexpected error occurred. For more details, see the Windows event logs on the controller being used or Citrix Virtual Apps and Desktops logs.

Test-ProvSetProvScheme