Citrix Virtual Apps and Desktops SDK

Test-ProvDBConnection

Tests whether a database is suitable for use by the Citrix MachineCreation Service.

Syntax

Test-ProvDBConnection
    [-DBConnection] <String>
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvDBConnection
    [-DBConnection] <String>
    [-Credentials] <PSCredential>
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->
Test-ProvDBConnection
    [-DBConnection] <String>
    [-Login] <String>
    [-Password] <SecureString>
    [-LoggingId <Guid>]
    [<CitrixCommonParameters>]
    [<CommonParameters>]
<!--NeedCopy-->

Description

Tests whether the database specified in the given connection string is suitable for use by the currently selected Citrix MachineCreation Service instance.

The service attempts to contact the specified database and returns a status indicating whether the database is both contactable and usable. The test does not impact any currently established connection from the service instance to another database in any way. The tested connection string is not recorded.

Only use of Windows authentication within the connection string is supported; a connection string containing SQL authentication credentials is always rejected as invalid.

The current service instance is the one on the local machine, or the one most recently specified using the -AdminAddress parameter of a MachineCreation SDK cmdlet.

Examples

EXAMPLE 1

Tests whether the service instance could use a database called XDDB on an SQL Server Express database running on the machine called dbserver. Integrated Windows authentication is required.

Test-ProvDBConnection "Server=dbserver\SQLEXPRESS;Database=XDDB;Trusted_Connection=True"
<!--NeedCopy-->

Parameters

-DBConnection

Specifies the database connection string to be tested by the currently selected Citrix MachineCreation Service instance.

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

-Credentials

If using SQL authentication, a PSCredential object containing the SQL credentials to be used. This can be created using the Get-Credential cmdlet. The credentials required are the SQL server login and its associated password. By default Windows authentication is used and no credentials need to be specified.

Type: PSCredential
Position: 2
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2311

-Login

If using SQL authentication, the SQL server login to use. By default Windows authentication is used and no login needs to be specified.

Type: String
Position: 2
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2311

-Password

If using SQL authentication, the SQL server password to use. By default Windows authentication is used and no password needs to be specified.

Type: SecureString
Position: 3
Default value: None
Required: True
Accept pipeline input: False
Accept wildcard characters: False
Introduced in: Citrix Virtual Apps and Desktop 7 2311

-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

Citrix.Fma.Sdk.Utilities.Service.ServiceStatusInfo

The Test-ProvDBConnection cmdlet returns an object describing the status of the selected MachineCreation Service instance that would result if the connection string were used with the Set-ProvDBConnection cmdlet together with extra diagnostics information for the specified connection string. The actual current status of the service is not changed. Possible diagnostic values are:

  • OK

    The Set-ProvDBConnection command would succeed if it were executed with the supplied connection string.

  • DBUnconfigured

    No database connection string is set for the MachineCreation Service instance.

  • DBRejectedConnection

    The database rejected the logon attempt from the MachineCreation Service. This may be because the service attempted to log on with invalid credentials or because a database has not been installed in the specified location.

  • InvalidDBConfigured

    The specified database does not exist, is not visible to the MachineCreation Service instance, or the service’s schema within the database is invalid.

  • DBNotFound

    The specified database could not be located with the configured connection string.

  • DBNewerVersionThanService

    The version of the MachineCreation Service currently in use is newer than, and incompatible with, the version of the MachineCreation Service schema on the database. Upgrade the MachineCreation Service to a more recent version.

  • DBOlderVersionThanService

    The version of the MachineCreation Service schema on the database is newer than, and incompatible with, the version of the MachineCreation Service currently in use. Upgrade the database schema to a more recent version.

  • DBVersionChangeInProgress

    A database schema upgrade is in progress.

  • PendingFailure

    Connectivity between the MachineCreation Service instance and the database has been lost. This may be a transitory network error, but may indicate a loss of connectivity that requires administrator intervention.

  • Failed

    Connectivity between the MachineCreation Service instance and the database has been lost for an extended period of time, or has failed due to a configuration problem. The service instance cannot operate while its connection to the database is unavailable.

  • Unknown

    The status of the MachineCreation Service cannot be determined.

Notes

If the command fails, the following errors can be returned:

  • InvalidDBConnectionString

    The database connection string has an invalid format.

  • DatabaseConnectionDetailsAlreadyConfigured

    There was already a database connection configured. After a configuration is set, it can only be set to $null.

  • PermissionDenied

    You do not have permission to execute this command.

  • AuthorizationError

    There was a problem communicating with the Citrix Delegated Administration Service.

  • ConfigurationLoggingError

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

  • CommunicationError

    There was a problem communicating with the remote service.

  • ExceptionThrown

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

Test-ProvDBConnection