Citrix Daas SDK


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


    [-DBConnection] <String>
    [-LoggingId <Guid>]


Tests whether the database specified in the given connection string is suitable for use by the currently selected Citrix DelegatedAdmin 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 that on the local machine, or that explicitly specified by the last usage of the -AdminAddress parameter to a DelegatedAdmin SDK cmdlet.



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-AdminDBConnection "Server=dbserver\SQLEXPRESS;Database=XDDB;Trusted_Connection=True"


Tests an invalid database connection string for the DelegatedAdmin Service.

Test-AdminDBConnection -DBConnection "Invalid Connection String"

Invalid database connection string format.



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

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


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


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


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



You can’t pipe objects to this cmdlet.



The Test-AdminDBConnection cmdlet returns an object of type

ServiceStatusInfo describing the changes to the system that would result from using the specified connection string with the Set-AdminDBConnection cmdlet. The actual state of the system is not changed.

The returned ServiceStatusInfo object has two properties: ServiceStatus, which gives the status of the selected DelegatedAdmin Service instance that would result from adopting the connection string, and ExtraInfo, which is a dictionary providing extra diagnostics information for the database identified by the connection string.

Possible ServiceStatus values are:

  • OK:

The Set-AdminDBConnection command would succeed if it were executed

with the supplied connection string.

  • DBUnconfigured:

No database connection string is set for the service instance.

  • DBRejectedConnection:

The database rejected the logon attempt from the DelegatedAdmin Service instance.

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 DelegatedAdmin Service

instance, or the service’s schema within the database is invalid.

  • DBNotFound:

The specified database could not be located with the given connection


  • DBNewerVersionThanService:

The DelegatedAdmin Service instance is older than, and incompatible with, the

service’s schema in the database. The service instance needs


  • DBOlderVersionThanService:

The DelegatedAdmin Service instance is newer than, and incompatible with, the

service’s schema in the database. The database schema needs upgrading.

  • DBVersionChangeInProgress:

A database schema upgrade is currently in progress.

  • PendingFailure:

Connectivity between the DelegatedAdmin 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 DelegatedAdmin 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:

Service status cannot be determined.

The ExtraInfo dictionary contains at least the following keys, and

their associated string values:

  • Server.Version:

Database server version number.

  • Server.IsClustered:

“True” if the database server is clustered; “False” otherwise.

  • Database.Status:

Status of the database. When operating normally, the value is “Normal”.

  • Database.RecoveryModel:

Recovery model of the database (e.g. “Simple”).

  • Database.LastBackupDate:

Date of the last backup of this database.

  • Database.IsReadCommittedSnapshotOn:

“True” if the READ_COMMITTED_SNAPSHOT database option is enabled; “False” otherwise.

  • Database.Collation:

Collation order of the database (e.g. “Latin1_General_100_CI_AS_KS”).

  • Database.IsMirroringEnabled:

“True” if the database is mirrored; “False” otherwise.

  • Database.AvailabilityGroupName:

The name of the availability group of which this database is a member.

Beware that the corresponding values are always strings. Therefore,

to test Boolean values, you must use statements like

if ($info[“Server.IsClustered”] == “True”)

instead of just

if ($info[“Server.IsClustered”])


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

Error Codes


The database connection string has an invalid format.


You do not have permission to execute this command.


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


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


There was a problem communicating with the remote service.


An unexpected error occurred. For more details, see the Windows event logs

on the controller or the XenDesktop logs.