Skip to main content
Version: v22.0

DxPS Admin Guide

Overview

DH2i software includes Windows PowerShell cmdlets (DxPS) that you can use to control and administer DxEnterprise cluster(s) locally or remotely. This admin guide includes all of the DxEnterprise cmdlets and sample scripts to successfully manage a DxEnterprise cluster. For additional information on how to use Windows PowerShell, please reference Microsoft Windows PowerShell documentation.

DxPowerShell Requirements

DxPS requires a minimum Windows PowerShell version 3. This version is installed by default on Windows operating systems.

To confirm which version you have installed, check the Version property of the Get-Host cmdlet or the PSVersion property of the $PSVersionTable variable.

PowerShell Administration window

If required, Windows PowerShell version 3 setup package can be downloaded from:

http://www.microsoft.com/en-gb/download/details.aspx?id=34595

Installing the DxPowerShell module

The DxPowerShell module (DxPS.dll) is installed as part of DxEnterprise software bundle. There are no additional steps required.

Importing the DxPowerShell module

DxPowerShell module (DxPS.dll) must be imported before you can begin using it. The module can be found in the \bin subdirectory where you install DH2i software. The default installation location is \Program Files\DH2i\bin.

To import the DxPowerShell (DxPS.dll) module use one of the below options:

  1. Use the Windows PowerShell Import-Module cmdlet with -DisableNameChecking option. If nothing is returned, then the import was successful.

    Import module dxps.dll

  2. Execute the Start_DxPS.cmd in the DH2i\bin folder.

  3. Select the "DxPowerShell Utility" option under Advanced Configuration in DxAdmin.

    Advanced configuration

DxPowerShell Classes and Cmdlets

DxPowerShell module is defined by a set of classes and cmdlets. Through the following classes and cmdlets, you can locally or remotely administer and manage a DxEnterprise cluster.

DxResult

This class represents the xml result set returned by DxPowerShell cmdlets.

Properties

NameType
StatusInteger
ResultString

Examples

PS C:> [xml]$xml = Dx-GetVersion | Select-Object -ExpandProperty
Result

PS C:> $xml.result

Commands

Dx-AddAddressFilter

Adds an address filter.

Syntax

Dx-AddAddressFilter [-Name] <string> [-Addresses] <string> [-DefaultAction] <string> [<CommonParameters>]

Detailed Description

Adds an address filter for accepting or denying connections from specific IP addresses or subnets.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the filter.TrueTrue
AddressesStringThe IP address or subnet.TrueTrue
DefaultActionStringWhether or not to accept or deny the IP address or subnet. Must be accept or deny.TrueTrue

Examples

Dx-AddAddressFilter -Name "filter1" -Addresses "10.1.1.0,accept|10.1.2.0,accept" -DefaultAction "deny"

Dx-AddAGS

Add an availability group to a Vhost.

Syntax

Dx-AddAGS [-VhostName] <string> [-AGSName] <string> -AGSParams <string[]> [<CommonParameters>]

Detailed Description

This cmdlet adds an availability group to an existing Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
AGSParamsStringComma-delimited parameter sets for each participant in the availability group.TrueTrue

Examples

Single Replica
Dx-AddAGS -VhostName "vhost1" -AGSName "AGS1" -AGSParams "node1|instance1|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit"
Multiple Replicas
Dx-AddAGS -VhostName "vhost1" -AGSName "ags1" -AGSParams "node1|instance1|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit","node2|mssqlserver|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit","node3|mssqlserver|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|asynchronous_commit"

Dx-AddAGSDatabases

Add a database to an availability group.

Syntax

Dx-AddAGSDatabases [-VhostName] <string> [-AGSName] <string> -Databases <string> [<CommonParameters>]

Detailed Description

This cmdlet adds databases to an existing availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
DatabasesStringComma delimited list of database names.TrueTrue

Examples

Dx-AddAGSDatabases -VhostName "vhost1" -AGSName "ags1" -Databases "db1,db2,db3"

Dx-AddAGSListener

Add a listener port to an availability group.

Syntax

Dx-AddAGSListener [-VhostName] <string> [-AGSName] <string> [-TCPPort] <int> [<CommonParameters>]

Detailed Description

This cmdlet adds a TCP listener port to the primary replica of an availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
TCPPortIntegerThe TCP port to listen on.TrueTrue

Examples

Dx-AddAGSListener -VhostName "vhost1" -AGSName "ags1" -TCPPort 11433

Dx-AddAGSNode

Add a member to an availability group.

Syntax

Dx-AddAGSNode [-VhostName] <string> [-AGSName] <string> -AGSParams <string> [<CommonParameters>]

Detailed Description

This cmdlet adds a new member to an existing availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
AGSParamsStringSpace-delimited parameter sets for each participant in the availability group.TrueTrue

Examples

Dx-AddAGSNode -VhostName "vhost1" -AGSName "ags1" -AGSParams "node3|instance1|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|asynchronous_commit"

Dx-AddClient

Adds a DxConnect client to the cluster.

Syntax

Dx-AddClient [-Name] <string> [-Password] <string> [[-Description] <string>] [[-MaxSession] <string>] [[-Groups]<string>] [<CommonParameters>]

Detailed Description

This cmdlet adds a new client to an existing cluster.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the client.True
PasswordStringThe password for the client. Can be encrypted using dxcli encrypt-text.True
DescriptionStringThe description for the client.False
MaxSessionIntegerThe maximum number of active sessions for the client.False
GroupsStringThe name of the client group to add the client to.False

Examples

Dx-AddClient -Name "Testuser" -Password "Pa$$w0rd" -Description "New User in accounting" -MaxSession 10 -Groups "Accounting"

Dx-AddClientGroup

Adds a client group consisting of one or more clients.

Syntax

Dx-AddClientGroup [-Name] <string> [[-MemberList] <string>] [[-Description] <string>] [<CommonParameters>]

Detailed Description

This cmdlet adds a new client group to an existing cluster.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the client.String
MemberListStringThe name of the members to add to the client group. Running the command without a client will create an empty client group.True
DescriptionStringThe description for the group.False

Examples

Dx-AddClientGroup -Name "NewGroup" -MemberList "Testuser" -Description "New group for accounting"

Dx-AddContact

Add a contact to the address book.

Syntax

Dx-AddContact [-Name] <string> [-Email] <string> [<CommonParameters>]

Detailed Description

This cmdlet adds a contact to the address book for the currently connected cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringContact Name.TrueTrue
EmailStringContact email address.TrueTrue

Examples

Dx-AddContact -Name "support" -Email "support@dh2i.com"

Dx-AddDisk

Add a disk to the current cluster.

Syntax

Dx-AddDisk [-DiskID] <string> [[-Label] <string>] [<CommonParameters>]

Detailed Description

This cmdlet puts the disk under DxEnterprise management.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID.TrueTrue
LabelStringName of the disk on the current cluster.FalseFalse

Examples

Dx-AddDisk -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17" -Label "Cluster Disk 1"

Dx-AddDocker

Add an instance of a Docker container to a Vhost.

Syntax

Dx-AddDocker [-VhostName] <string> [-DockerName] <string> [-Image] <string> [-DockerParams] <string[]> [<CommonParameters>]

Detailed Description

This cmdlet adds an instance of a Docker container to a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the Docker container.FalseFalse
ImageStringThe name of the Docker image.TrueTrue
DockerParamsStringThe docker run parameters that the Docker instance will use on startup (comma delimited for multiples). The parameters are a triplet of <docker_run_option>|<value>|<value_is_encrypted>TrueTrue

Examples

Dx-AddDocker -VhostName "vhost1" -DockerName "mssql1" -Image "microsoft/mssql-server-linux" -DockerParams "-e|ACCEPT_EULA=Y|False","-e|CDGvv+sAhk1YXCeceIN3AyHbmFZ1jfxpJhENAm8FWbM=|True","-p|50250:1433|False","-h|VHOST1|False","-v|/mnt/mssql:/var/opt/mssql|False","-os|linux|False"

Dx-AddFileshare

Add a network file share.

Syntax

Dx-AddFileshare [-VhostName] <string> [-ShareName] <string> [-SharePath] <string> -Grants <string[]> [-Comments <string>] [-MaxAllowedUsers <int>] [-Caching {manual | BranchCache | documents | programs | none}] [<CommonParameters>]

Detailed Description

This cmdlet adds a network file share to a Vhost. The Windows file share will be created on all nodes associated with the Vhost. The path must be accessible on all associated nodes.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ShareNameStringThe name of the file share.TrueTrue
SharePathStringLocal share path.TrueTrue
GrantsStringGrant parameter string array delimited by a comma (,). Each parameter name and value pair is delimited by a colon (:).TrueTrue
CommentsStringUser defined comment.FalseFalse
MaxAllowedUsersIntegerMax concurrent users allowed to the share. Default is unlimited.FalseFalse
CachingStringCaching mode for the share. Possible mode : manual, BranchCache, documents, programs, none.FalseFalse

Examples

Dx-AddFileshare -VhostName "vhost1" -ShareName "share1" -SharePath "K:\Share1"
-Grants "everyone,read:administrators,full"

Dx-AddInstance

Add an instance to a Vhost.

Syntax

Dx-AddInstance [-InstanceName] <string> [-TCPPort] <int> [-DataPath] <string> [-LogPath] <string> [[-KeepExistingData]] [<CommonParameters>]

Detailed Description

This cmdlet adds a named instance of SQL Server to a Vhost and puts it under DxEnterprise management. The named instance must already be installed on all nodes associated with the Vhost. The data and log paths must point to a SAN location that is accessible to all nodes. If the optional KeepExistingData is specified, the current data and log files on the SAN are retained, otherwise they are overwritten with the local data files.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe name of the instance.TrueTrue
TCPPortIntegerStatic SQL Server listening port.TrueTrue
DataPathStringRoot path for SQL Server data (.mdf, .ndf).TrueTrue
LogPathStringRoot path for SQL Server logs (*.ldf).TrueTrue
KeepExistingDataSwitch ParameterWhether to overwrite the target data in the DataPath and LogPath or to preserve it. Default is false if not specified.FalseFalse

Examples

Dx-AddInstance -InstanceName "vhost1\customer" -TCPPort 50001 -DataPath "S:\Sqldata\Customer\Data" - LogPath "S:\Sqldata\Customer\Logs"

Dx-AddNode

Add node(s) to a Vhost.

Syntax

Dx-AddNode [-VhostName] <string> [-Nodes] <string> [<CommonParameters>]

Detailed Description

This cmdlet adds node(s) to a Vhost. If the Vhost has any instances under its management, the node(s) will undergo hosting readiness for these instances.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodesStringNode name(s). Delimited by comma.TrueTrue

Examples

Dx-AddNode -VhostName "vhost1" -Nodes "node1,node2,node3"

Dx-AddPolicy

Add a policy.

Syntax

Dx-AddPolicy -SYSTEM -ObjectName <string> [-Enabled] [-PolicyID <string>] [-Description <string>] [-CounterName <string>] [-Threshold <int>] [-Operator <string>] [<CommonParameters>]

Dx-AddPolicy -PERF -ObjectName <string> -CounterName <string> -Threshold <int> [-Percent] [-Loadbalance] [-Enabled] [-PolicyID <string>] [-Description <string>] [-Operator <string>] [-ScriptPath <string>] [-Priority <int>] [<CommonParameters>]

Dx-AddPolicy -ALLOC -ObjectName <string> -CounterName <string> -Threshold <int> [-Enabled] [-PolicyID <string>] [-Description <string>] [-Operator <string>] [-ScriptPath <string>] [<CommonParameters>]

Dx-AddPolicy -FILTER [-Enabled] [-Information] [-Warning] [-Error] [-Critical] [-VhostFilter <string>] [-InstanceFilter <string>] [-DockerFilter <string>] [-NodeFilter <string>] [-PolicyID <string>] [-Description <string>] [-Operator <string>] [<CommonParameters>]

Detailed Description

This cmdlet defines a SYSTEM/PERF/ALLOC/FILTER policy.

Policy Types
SYSTEM

The SYSTEM policy sends alerts when a node is down.

This policy type can only be attached to ObjectName "node" and CounterName "system-down".

PERF

The PERF policy send alerts when a performance threshold is reached.

This policy type can be attached to:

ObjectName
  • node
  • instance
  • service
  • Docker
CounterName
  • processor-consumption
  • system-free-memory
  • system-networking
  • system-disk-io
  • docker-processor
  • docker-working-set
  • docker-networking
  • docker-disk-io
  • instance-processor
  • instance-working-set
  • instance-networking
  • instance-disk-io
  • service-processor
  • service-working-set
  • service-networking
  • service-disk-io
ALLOC

The ALLOC policy sends alerts when an allocation threshold is reached.

This policy type can be attached to:

ObjectName
  • node
  • instance
  • service
  • Docker.
CounterName
  • alloc-docker-processor
  • alloc-docker-memory
  • alloc-docker-disk
  • alloc-docker-network
  • alloc-instance-processor
  • alloc-instance-memory
  • alloc-instance-disk
  • alloc-instance-network
  • alloc-node-processor
  • alloc-node-memory
  • alloc-node-disk
  • alloc-node-network
  • alloc-service-processor
  • alloc-service-memory
  • alloc-service-disk
  • alloc-service-network
FILTER

Global filter alert type policy.

This policy type can be attached to ObjectName:

  • node
  • instance
  • service
  • Vhost
  • AGS
  • Docker

Parameters

NameTypeDescriptionRequiredCommand-line Input
SYSTEMSwitch ParameterSystem type policy. Used to alert when a system is down.TrueFalse
PERFSwitch ParameterPerformance type policy.TrueFalse
ALLOCSwitch ParameterAllocation type policy.TrueFalse
FILTERSwitch ParameterGlobal filter alert type policy.TrueFalse
PolicyIDStringUnique policy ID.FalseFalse
DescriptionStringUser defined description.FalseFalse
ObjectNameStringInstance, Docker or system name.FalseFalse
CounterNameStringResource/counter name. Applicable to SYSTEM, PERF, and ALLOC policies. Resource/counter names are located in drop down under Policy Types above.FalseFalse
ThresholdIntegerTrigger limit applicable for PERF and ALLOC policies. When this threshold is met or exceeded the system will raise an alert and carry any predefined corrective actions.FalseFalse
PercentSwitch ParameterWhether or not the threshold value is a percent of total system resource. Default is false.FalseFalse
OperatorStringEmail addresses to be sent when the policy is triggered.FalseFalse
ScriptPathStringFull path to the script file to be executed when the policy is triggered.FalseFalse
PriorityIntegerPolicy priority relative to other policies in the cluster. Valid values are between 1 and 5. With 1 being the lowest or least prioritized. Applicable to PERF policy.FalseFalse
LoadBalanceSwitch ParameterWhether or not to failover when the policy is triggered. Default is false.FalseFalse
EnabledSwitch ParameterWhether or not the policy is enabled. Default is true.FalseFalse
InformationSwitch ParameterWhether or not filter only for Information severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
WarningSwitch ParameterWhether or not filter only for Warning severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
ErrorSwitch ParameterWhether or not filter only for Error severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
CriticalSwitch ParameterWhether or not filter only for Critical severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
VhostFilterStringInclusive list of Vhosts to raise alert for. Applicable to FILTER policy. Default is all Vhosts.FalseFalse
InstanceFilterStringInclusive list of instances to raise alert for. Applicable to FILTER policy. Default is all instances.FalseFalse
NodeFilterStringInclusive list of nodes to raise alert for. Applicable to FILTER policy. Default is all nodes.FalseFalse
DockerFilterStringInclusive list of containers to raise alert for. Applicable to FILTER policy. Default is all containers.FalseFalse

Examples

System Policy
Dx-Add-Policy -SYSTEM -ObjectName "NODE1"
Performace Policy
Dx-Add-Policy -PERF -ObjectName "CUSTOMER" -CounterName "instance-working-set" -Threshold 1000
Allocation Policy
Dx-AddPolicy -ALLOC -ObjectName "CUSTOMER" -CounterName "instance-working-set" -Threshold 2500
Filter Policy
Dx-AddPolicy -FILTER -InstanceFilter "CUSTOMER" -Operator "support@dh2i.com"

Dx-AddService

Add a service.

Syntax

Dx-AddService [-VhostName] <string> [-ServiceName] <string> [-Description <string>] [-AssumeVhostName] [<CommonParameters>]

Detailed Description

This cmdlet adds a service to a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue
DescriptionStringUser defined description.FalseFalse
AssumeVhostNameSwitch ParameterWhether or not the service runs under the Vhost name.FalseFalse

Examples

Dx-AddService -VhostName "vhost1" -ServiceName "alg"

Dx-AddServiceRegistry

Add a service registry.

Dx-AddServiceRegistry [-VhostName] <string> [-ServiceName] <string> [-RegKey] <string> [-RegPath] <string> [<CommonParameters>]

Detailed Description

Adds a registry key to an existing service on a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue
RegKeyStringThe full path to the registry key.TrueTrue
RegPathStringThe full path of where the service reg_key is backed up. It is recommended to put this on a shared volume for the Vhost.TrueTrue

Examples

Dx-AddServiceRegistry -VhostName "vhost1" -ServiceName "service1" -RegKey "HKLM\Software\service1" -RegPath "c:\mounts\volume1\service1"

Dx-AddSMTP

Configure SMTP server and credentials for email alerts.

Syntax

Dx-AddSMTP -ServerName <string> -Email <string> [-Port <int>] [-Protocol {NONE | TLS | SSL}] [-EncryptedPassword] [-Password <string>] [-UserName <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets the SMTP information used to send email alerts.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ServerNameStringSMTP server name or address.TrueTrue
EmailStringSender email address.TrueTrue
PortIntegerSMTP server connection port. Default is 25.FalseFalse
ProtocolStringSMTP server protocol. Valid value is NONE, TLS, or SSL. Default is NONE.FalseFalse
EncryptedPasswordSwitch ParameterWhether or not the supplied password value is an encrypted string obtained from Dx-EncryptText cmdlet. Default is false.FalseFalse
UserNameStringThe username to connect to the serverTrueFalse
PasswordStringThe password for the user.TrueFalse

Examples

Dx-AddSMTP -ServerName "smtp.mail.com" -Email "user1@mail.com" -Port 557 -Protocol "TLS" -EncryptedPassword $false -UserName "user1" -Password "Pa$$w0rd"

Dx-AddTunnel

Add a tunnel to the cluster.

Syntax

Dx-AddTunnel [-Name] <string> [-Enabled] <bool> [-DestinationNodeName] <string> [-DestinationAddresses] <string> [-Origin] <string> [[-vHost] <string>] [<CommonParameters>]

Detailed Description

Adds a new tunnel to an existing cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the tunnel.TrueTrue
EnabledBoolEnable the tunnel.TrueTrue
Destination_node_nameStringThe name of the destination node.TrueTrue
Destination_addressStringThe target IP address or hostname of the tunnel destination.TrueTrue
OriginStringThe name of the origin node. This is the node where the tunnel listener will be active.TrueTrue
VhostStringThe name of the Vhost to associate with the tunnel.TrueTrue

Examples

Dx-AddTunnel -Name "test" -Enabled $true -DestinationNodeName "node1" -DestinationAddresses "10.1.2.10:4455" -Origin "node1,0.0.0.0:30004 " -Vhost "vhost1”

Dx-AddVhost

Add a Vhost to the cluster.

Syntax

Dx-AddVhost [-VhostName] <string> [-VIPs] <string> [-Nodes] <string> [[-AutoFailback]] [[-Priority] <int>] [<CommonParameters>]

Detailed Description

This cmdlet adds a new Vhost to the cluster configuration.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
VIPSStringIP address(es) of the Vhost. Delimited by comma.TrueTrue
NodesStringList of nodes participating in the Vhost. Delimited by comma.TrueTrue
AutoFailbackSwitch ParameterWhether or not to support auto failback for the Vhost. Default is false.FalseFalse
PriorityIntegerVhost priority relative to other Vhosts in the cluster. Valid values are between 1 and 5. With 1 being the lowest or least prioritized.FalseFalse

Examples

Dx-AddVhost -VhostName "vhost1" -VIPS "10.1.200.151" -Nodes "node1,node2,node3"

Dx-AddWitness

Add a network share witness to the cluster.

LEGACY

This command has been superseded by Dx-SetWitness. Do not use this command for Azure Blob Storage.

Syntax

Dx-AddWitness [-Shares] <string> [-UserName] <string> [-Password] <string>

Detailed Description

This cmdlet adds a new network share witness to the cluster configuration.

Parameters

NameTypeDescriptionRequiredCommand-line Input
SharesStringUp to three UNC network shares. Delimited by comma.TrueTrue
UserNameStringThe name of the user.TrueTrue
PasswordStringThe password of the user (recommended to encrypt using Dx-EncryptTextTrueTrue

Examples

Dx-AddWitness -Shares "\server1\share1" -UserName "user1" -Password "6pnFaDrRS+W/F+dkRuPKAA=="

Dx-CleanDisk

Cleans the disk of all partitions, volumes, and any hidden sector information.

danger

All volumes and data will be destroyed by running this command.

Syntax

Dx-CleanDisk [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet deletes the partition table on the selected disk. All user data on disk will be destroyed.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label.TrueTrue

Examples

Dx-CleanDisk -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17"

Dx-ClearOTPK

Clears the one-time passkey.

Syntax

Dx-ClearOTPK [<CommonParameters>]

Detailed Description

This cmdlet clears all currently registered one-time passkeys for the cluster.

Examples

Dx-ClearOTPK

Dx-ClearReservation

Clears all reservations on the selected disk.

Syntax

Dx-ClearReservation [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes all SCSI-3 persistent reservations on the selected disk(s).

Clearing the reservation on a disk can cause data corruption if the disk is accessible to nodes outside of the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID(s) or disk lable(s). Delimited by pipe (|).TrueTrue

Examples

Dx-ClearReservation -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17"

Dx-ClusterGetDockerImages

Returns a list of Docker images.

Syntax

Dx-ClusterGetDockerImages [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all Docker images available on each cluster node.

Examples

Dx-ClusterGetDockerImages

Dx-ClusterGetFeatures

Returns a list of features enabled on the connected node.

Syntax

Dx-ClusterGetFeatures [<CommanParameters>]

Detailed Description

This cmdlet returns a list of features enabled on the connected node.

Examples

Dx-ClusterGetFeatures

Dx-ClusterGetInstances

Returns a list of SQL Server instances.

Syntax

Dx-ClusterGetInstances [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all SQL Server instances available on each cluster node.

Examples

Dx-ClusterGetInstances

Dx-ClusterRehostDocker

Rehosts an instance of a Docker container from one Vhost to another.

Syntax

Dx-ClusterRehostDocker [-FromVhost] <string> [-ToVhost] <string> [-DockerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the specified Docker instance from the source Vhost and adds it to the target Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
FromVhostStringThe source Vhost name.TrueTrue
ToVhostStringThe target Vhost name.TrueTrue
DockerNameStringThe name of the Docker container.TrueTrue

Examples

Dx-ClusterRehostDocker -FromVhost "vhost1" -ToVhost "vhost2" -DockerName "mssql1"

Dx-ClusterRehostInstance

Rehosts a SQL Server instance from one Vhost to another.

Syntax

Dx-ClusterRehostInstance [-FromVhost] <string> [-ToVhost] <string> [-InstanceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the specified instance from the source Vhost and adds it to the target Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
FromVhostStringThe source Vhost name.TrueTrue
ToVhostStringThe target Vhost name.TrueTrue
InstanceNameStringThe name of the instance.TrueTrue

Examples

Dx-ClusterRehostInstance -FromVhost "vhost1" -ToVhost "vhost2" -InstanceName "instance1"

Dx-ClusterRehostService

Rehosts a service from one Vhost to another.

Syntax

Dx-ClusterRehostService [-FromVhost] <string> [-ToVhost] <string> [-ServiceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the specified service from the source Vhost and adds it to the target Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
FromVhostStringThe source Vhost name.TrueTrue
ToVhostStringThe target Vhost name.TrueTrue
ServiceNameStringThe name of the service.TrueTrue

Examples

Dx-ClusterRehostService -FromVhost "vhost1" -ToVhost "vhost2" -ServiceName "SQLBrowser"

Dx-ClusterResync

Refresh cluster configuration for all members.

Syntax

Dx-ClusterResync [<CommonParameters>]

Detailed Description

This cmdlet instructs all members to refresh their cluster configuration (DxVhost.xml) file. This ensures every member has a consistent image of the cluster configuration.

Parameters

None

Examples

Dx-ClusterResync

Dx-CollectLog

Run DxCollect utility on each cluster member.

Syntax

Dx-CollectLog [<CommonParameters>]

Detailed Description

This cmdlet instructs all members to execute DxCollect.exe utility and return the status code and the newly created log file.

Parameters

None

Examples

Dx-CollectLog

Dx-CreateVolume

Creates a volume.

Syntax

Dx-CreateVolume [-DiskSpace] <string> [<CommonParameters>]

Detailed Description

This cmdlet creates a volume from any empty space available on the disk(s).

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskSpaceStringA pipe (|) delimited list of <disk_id_or_disk_label>,<disk_size_in_bytes>TrueTrue

Examples

Single Disk
Dx-CreateVolume -DiskSpace "dad7b407-b77a-b98b-edbb-df64556eeb17,17179869184"
Multiple Disks
Dx-CreateVolume -DiskSpace "dad7b407-b77a-b98b-edbb-df64556eeb17,17179869184|f1ea67c8-e85c-5ae9-4e13-e95dc7a3d04a,1073741824"

Dx-DeactivateServer

Deactivates and clears the license on the specified node.

Syntax

Dx-DeactivateServer [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

To reclaim the license on a node no longer in use this will clear the license which can then be used on a new node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringName of the node to deactivate the license on.TrueTrue

Examples

Dx-DeactivateServer -NodeName "node1"

Dx-DeleteVolume

Delete a specified volume.

Syntax

Dx-DeleteVolume [-VolID] <string> [<CommonParameters>]

Detailed Description

This cmdlet deletes the specified volume. All user data on the volume will be destroyed.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue

Examples

Dx-DeleteVolume -VolID "deb7b407-a77b-889b-eddb-df63556eeb17"

Dx-DemoteAGSNode

Demote a node in the availability group.

Syntax

Dx-DemoteAGSNode [-VhostName] <string> [-AGSName] <string> -NodeName <string> [<CommonParameters>]

Detailed Description

This cmdlet sets the specified node in the availability group to be a secondary replica.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-DemoteAGSNode -VhostName "vhost1" -AGSName "ags1" -NodeName "node1"

Dx-DetachAGS

Detach an availability group from DxEnterprise management.

Syntax

Dx-DetachAGS [-VhostName] <string> [-AGSName] <string> [<CommonParameters>]

Detailed Description

This cmdlet detaches an availability group from DxEnterprise management. The availability group stays active and functional, but will no longer be under the control of the DxEnterprise high availability engine for automatic health detection and failover.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue

Examples

Dx-DetachAGS -VhostName "vhost1" -AGSName "ags1"

Dx-DisableNode

Disable a cluster node.

Syntax

Dx-DisableNode [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet puts a node into a "disabled" state. A disabled node is a node that is still part of the cluster but is no longer qualified to host any applications. If there are running/active applications on the node prior to the state change, they will be relocated to other node(s) in the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-DisableNode -NodeName "node1"

Dx-EnableNode

Enable a cluster node.

Syntax

Dx-EnableNode [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet clears the "disabled" state for a node, and potentially relocates applications on to it according to allocation and auto-failback policies.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-EnableNode -NodeName "node1"

Dx-EncryptText

Encrypt a text value.

Syntax

Dx-EncryptText [-Text] <string> [<CommonParameters>]

Detailed Description

This cmdlet encrypts a text value.

Parameters

NameTypeDescriptionRequiredCommand-line Input
TextStringText value to be encrypted.TrueTrue

Examples

Dx-EncryptText -Text "Pa$$w0rd"

Dx-ExecuteDebugCommand

Internal use only.

Syntax

Dx-ExecuteDebugCommand [[-Action] <string>] [-Values <string[]>] [<CommonParameters>]

Detailed Description

This cmdlet executes a command. For internal use only.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ActionStringThe action to be executed.FalseTrue
ValuesString[]Applicable values for Action.FalseTrue

Examples

Dx-ExecuteDebugCommand -Action "get-vhost" -Values "vhost1"

Dx-ExportConfig

Exports a client configuration file to be used on DxConnect client machines.

Syntax

Dx-ExportConfig [-Name] [<CommonParameters>]

Detailed Description

This cmdlet exports a configuration file to be used on DxConnect client machines to allow users to connect to either DxEnterprise or DxOdyssey nodes.

Parameters

NameTypeDescriptionRequiredCommand-line Input
FileNameStringThe name of the file, including the .dh2i extension. The file will be created in the working directory if no directory is included as part of the filename.TrueTrue

Examples

Dx-ExportConfig -FileName dxe_client.dh2i

Dx-ExtendVolume

Extend the volume size.

Syntax

Dx-ExtendVolume [-VolID] <string> [-DiskSpace] <string> [<CommonParameters>]

Detailed Description

This cmdlet extends the volume size.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID to be extended.TrueTrue
DiskSpaceStringA pipe (|) delimited list of <disk_id_or_disk_label>,<disk_size_in_bytes>TrueTrue

Examples

Dx-ExtendVolume -VolID "dad7b407-b77a-b98b-edbb-df64556eeb17"
-DiskSpace "deb7b407-a77b-889b-eddb-df63556eeb17,17179869184"
The first GUID is the VolID. The second GUID is a Disk ID,(comma)
17179869184 (the size in bytes)

Dx-FormatVolume

Formats the specified volume.

danger

Formatting will delete all data on the specified volume.

Syntax

Dx-FormatVolume [-VolID] <string> [-FileSystem {NTFS | FAT32 | ReFS}] [-VolumeLabel <string>] [-BlockSize <int>] [-QuickFormat <bool>] [-Compression <bool>] [<CommonParameters>]

Detailed Description

This cmdlet administratively formats the selected volume.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
FileSystemStringFilesystem type. Valid values are NTFS on Windows or EXT4 or XFS on Linux. Default is NTFS on Windows and EXT4 on LinuxFalseFalse
VolumeLabelStringName of the volume. Default is New Dx Volume.FalseFalse
BlockSizeIntegerBlocksize of the volume. Valid values are 512, 1024, 4096, 8192, 16384, 32768, or 65536. Default is 4096.FalseFalse
QuickFormatBoolWhether or not to perform quick format. Quick format does not zero data on disk. Default is true.FalseFalse
CompressionBoolEnable coompression support for the volume or not. Default is false.FalseFalse

Examples

Dx-FormatVolume -VolID "dad7b407-b77a-b98b-edbb-df64556eeb17" -FileSystem "NTFS" -VolumeLabel "volume1" -BlockSize 65536 -QuickFormat $true -Compression $false

Dx-FormatVolumeEx

Format a volume with support for Windows format optional flags.

Syntax

Dx-FormatVolumeEx [-VolID] <string> [-FileSystem {NTFS | FAT32 | ReFS}] [-VolumeLabel <string>] [-BlockSize <int>] [-QuickFormat <bool>] [-Compression <bool>] [-Optional <string>] [<CommonParameters>]

Detailed Description

This cmdlet administratively formats the selected volume and allows Windows format optional flags to be used.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
FileSystemStringFilesystem type. Valid values are NTFS on Windows or EXT4 or XFS on Linux. Default is NTFS on Windows and EXT4 on LinuxFalseFalse
VolumeLabelStringName of the volume. Default is New Dx Volume.FalseFalse
BlockSizeIntegerBlocksize of the volume. Valid values are 512, 1024, 4096, 8192, 16384, 32768, or 65536. Default is 4096.FalseFalse
QuickFormatBoolWhether or not to perform quick format. Quick format does not zero data on disk. Default is true.FalseFalse
CompressionBoolEnable coompression support for the volume or not. Default is false.FalseFalse
OptionalStringOptional flags available to Windows format.FalseFalse

Examples

Dx-FormatVolumeEx -VolID "dad7b407-b77a-b98b-edbb-df64556eeb17" -FileSystem "NTFS" -VolumeLabel "volume1" -BlockSize 65536 -QuickFormat $true -Compression $false -Optional "/L:enable"

Dx-FormatVolumeEx2

Format a volume with additional filesystem types and support for Windows format optional flags.

Syntax

Dx-FormatVolumeEx2 [-VolID] <string> [-FileSystem {NTFS | EXT4 | XFS | BTRFS}] [-VolumeLabel <string>] [-BlockSize <int>] [-QuickFormat <bool>] [-Compression <bool>] [-Optional <string>] [<CommonParameters>]

Detailed Description

This cmdlet administratively formats the selected volume and allows additional filesystem types to be used.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
FileSystemStringFilesystem type. Valid values are NTFS on Windows or EXT4, XFS or BTRFS on Linux. Default is NTFS on Windows and EXT4 on LinuxFalseFalse
VolumeLabelStringName of the volume. Default is New Dx Volume.FalseFalse
BlockSizeIntegerBlocksize of the volume. Valid values are 512, 1024, 4096, 8192, 16384, 32768, or 65536. Default is 4096.FalseFalse
QuickFormatBoolWhether or not to perform quick format. Quick format does not zero data on disk. Default is true.FalseFalse
CompressionBoolEnable coompression support for the volume or not. Default is false.FalseFalse
OptionalStringOptional flags available to Windows format.FalseFalse

Examples

Dx-FormatVolumeEx2 -VolID "dad7b407-b77a-b98b-edbb-df64556eeb17" -FileSystem "NTFS" -VolumeLabel "volume1" -BlockSize 65536 -QuickFormat $true -Compression $false -Optional "/L:enable"

Dx-FreezeNode

Freeze a cluster node.

Syntax

Dx-FreezeNode [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively puts a node into "frozen" state. While the node is in this frozen state, all applications continue to run on the node even if the DxEnterprise software is removed from the node. If the node is rebooted, all SQL Server instances running on the node would require manual restart.

This cmdlet is designed to support in-place upgrade of DxEnterprise software.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-FreezeNode -NodeName "node1"

Dx-FreezeVhost

Freeze a Vhost.

Syntax

Dx-FreezeVhost [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively puts a Vhost into "frozen" state. While the Vhost is in this frozen state, applications running under the Vhost can be stopped and started without causing the cluster to initiate a failover. If the node is rebooted, all SQL Server instances running on the node would require manual restart.

This cmdlet is applicable when maintenance of application registry or configuration is needed.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-FreezeVhost -VhostName "vhost1"

Dx-GenerateOTPK

Generates a new One-Time PassKey to use with Dx-SetOTPK.

Syntax

Dx-GenerateOTPK [<CommonParameters]

Detailed Description

This cmdlet generates a new One-Time Passkey to use with Dx-SetOTPK. When joining a cluster via the NatMatchAgent, supply the OTPK instead of the passkey.

Parameters

None

Examples

Dx-GenerateOTPK

Dx-GetAddressFilter

Returns details for the specified address filter.

Syntax

Dx-GetAddressFilter [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the details for the specified address filter.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the address filter.TrueTrue

Examples

Dx-GetAddressFilter -Name "filter1"

Dx-GetAGSDBMirror

Returns availability group details on a node.

Syntax

Dx-GetAGSDBMirror [-Node] <string> [-Instance] <string> [-Login] <string> [-Password] <string> [<CommonParameters>]

Detailed Description

This cmdlet will return details of availability group on a specified node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringNode name to aquire the availability group details.TrueTrue
InstanceStringName of the SQL instance.TrueTrue
LoginStringThe SQL instance login.TrueTrue
PasswordStringThe SQL instance password.TrueTrue

Examples

Dx-GetAGSDBMirror -NodeName "node1" -Instance "instance1" -Login "sa" -Password "qC0Tfb6Px/bfFDA5PTSDlA=="

Dx-GetAGSDetail

Get details about an availability group.

Syntax

Dx-GetAGSDetail [-VhostName] <string> [-AGSName] <string> [<CommonParameters>]

Detailed Description

This cmdlet gets all of the details, connection status and health status for the specified availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue

Examples

Dx-GetAGSDetail -VhostName "vhost1" -AGSName "ags1"

Dx-GetAlerts

Get all alerts for the cluster.

Syntax

Dx-GetAlerts [<CommonParameters>]

Detailed Description

This cmdlet returns all active and persistent alerts for the current cluster.

Parameters

None

Examples

Dx-GetAlerts

Dx-GetClientConnections

Returns all active client connections.

Syntax

Dx-GetClientConnections [<CommonParameters>]

Detailed Description

This cmdlet returns active client connections on the cluster.

Parameters

None

Examples

Dx-GetClientConnections

Dx-GetClientDetail

Returns the details for the specified client.

Syntax

Dx-GetClientDetail [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the details for the specified client showing with which tunnels the client is associated.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the client.TrueTrue

Examples

Dx-GetClientDetail -Name "client1"

Dx-GetClusterDisks

Get a list of current cluster disks.

Syntax

Dx-GetClusterDisks [<CommonParameters>]

Detailed Description

This cmdlet returns a list of known cluster disks, including disks that are inaccessible.

Parameters

None

Examples

Dx-GetClusterDisks

Dx-GetClusterMembers

Get a list of current cluster members.

Syntax

Dx-GetClusterMembers [<CommonParameters>]

Detailed Description

This cmdlet returns a list of known cluster members, including members that are inaccessible.

Parameters

None

Examples

Dx-GetClusterMembers

Dx-GetConnectionInfo

Get current cluster connection details.

Syntax

Dx-GetConnectionInfo [<CommonParameters>]

Detailed Description

This cmdlet returns a detailed list of properties for the current cluster connection.

Parameters

None

Examples

Dx-GetConnectionInfo

Dx-GetContacts

Get a list of contacts.

Syntax

Dx-GetContacts [<CommonParameters>]

Detailed Description

This cmdlet returns a list of contacts.

Parameters

None

Examples

Dx-GetContacts

Dx-GetCoordinators

Get a list of current coordinators.

Syntax

Dx-GetCoordinators [<CommonParameters>]

Detailed Description

This cmdlet returns a list of the current cluster, application and storage coordinators.

Parameters

None

Examples

Dx-GetCoordinators

Dx-GetCoordinatorStatus

Get status for the current cluster coordinator.

Syntax

Dx-GetCoordinatorStatus [<CommonParameters>]

Detailed Description

This cmdlet returns the detailed status for the current cluster Coordinator.

Parameters

None

Examples

Dx-GetCoordinatorStatus

Dx-GetCounters

Get system counters.

Syntax

Dx-GetCounters [<CommonParameters>]

Detailed Description

This cmdlet returns a list of supported counters for DxEnterprise.

Parameters

None

Examples

Dx-GetCounters

Dx-GetDiskDetail

Get detailed information from a specified disk.

Syntax

Dx-GetDiskDetail [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the detail information from the specified disk.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label of the individual disk information is being requested about.TrueTrue

Examples

Dx-GetDiskDetail -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17"

Dx-GetDiskInfo

Get detailed information from a specified disk on a specified node.

Syntax

Dx-GetDiskInfo [-DiskID] <string> [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns the detail information from the specified disk on the specified node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label of the individual disk information is being requested about.TrueTrue
NodeNameStringNode name to retrieve the disk info from. The disk must be visible to the node specified.FalseFalse

Examples

Dx-GetDiskInfo -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17" -NodeName "node1"

Dx-GetDisks

Get disk details organized by node.

Syntax

Dx-GetDisks [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns the disk information from the cluster or a specific node. If a node name is given only information from that node is returned.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringNode name to acquire the disk details from.FalseTrue

Examples

Dx-GetDisks -NodeName "node1"

Dx-GetDockerDetail

Get detailed information for a Docker container.

Syntax

Dx-GetDockerDetail [-VhostName] <string> [-DockerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the detailed information regarding a Docker container that is currently managed by DxEnterprise.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the Docker container.TrueTrue

Examples

Dx-GetDockerDetail -VhostName "vhost1" -DockerName "mssql1"

Dx-GetFeatures

Returns a list of features enabled on the connected node.

Dx-GetFeatures [<CommonParameters>]

Detailed Description

This cmdlet returns returns a list of enabled features on the connected node such as tunneling, storage, ags etc.

Parameters

None

Examples

Dx-GetFeatures

Dx-GetGlobalSettings

Get global settings.

Syntax

Dx-GetGlobalSettings [<CommonParameters>]

Detailed Description

This cmdlet returns global settings that are explicitly set by the user.

Parameters

None

Examples

Dx-GetGlobalSettings

Dx-GetInstanceDetail

Get detailed information for a SQL Server instance.

Syntax

Dx-GetInstanceDetail [-InstanceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the detailed information regarding a SQL Server instance that is currently managed by DxEnterprise.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringTarget SQL Server instance name to be queried. The format is as follow: 1. Named Instance - <Vhost>\<InstanceName> 2. Default Instance - <Vhost>\MSSQLServerTrueTrue

Examples

Dx-GetInstanceDetail -InstanceName "vhost1\customer"

Dx-GetInterfaces

Returns interfaces set on a node.

Syntax

Dx-GetInterfaces [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns an XML output of all interfaces available for connected cluster, or a specified node if supplied.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringNode name to acquire what interfaces are configured.FalseTrue

Examples

Dx-GetInterfaces -NodeName "node1"

Dx-GetLicense

Get a current license from a node.

Syntax

Dx-GetLicense [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns the license information from a node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringNode name to acquire the license from. Default is currently connected host.FalseTrue

Examples

Dx-GetLicense -NodeName "node1"

GetLicenseDetail

Returns product license details.

Syntax

Dx-GetLicenseDetail [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns details for the product license including the key, product, expiration, etc. for the connected server or a specified node.

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringNode name to acquire the license details from. Default is currently connected host.FalseTrue

Examples

Dx-GetLicenseDetail -NodeName "node1"

Dx-GetLicenseRequest

Get a current license request from a node.

Syntax

Dx-GetLicenseRequest [[-LicenseCode] <string>] [[-NodeName] <string>] [<CommonParameters>]

Detailed Description

This cmdlet returns the license request information from a node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
LicenseCodeStringLicense code to generate the license request. Default is blank. If not specified, license request is the existing one from the target node.TrueTrue
NodeNameStringNode name to acquire the license request from. Default is the currently connected host.FalseTrue

Examples

Dx-GetLicenseRequest -LicenseCode "AAAA-BBBB-CCCC-DDDD" -NodeName "node1"

Dx-GetLicenses

Get a composite list of licenses from all nodes.

Syntax

Dx-GetLicenses [<CommonParameters>]

Detailed Description

This cmdlet returns a composite list of licenses from all cluster member nodes.

Parameters

None

Examples

Dx-GetLicenses

Dx-GetMonitoredApps

Get a list of all monitored applications.

Syntax

Dx-GetMonitoredApps [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all monitored applications by DxHealth and DxReg.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
DxHealthSwitch ParameterWhether or not to get list of monitored containers by DxHealth only.FalseFalse
DxRegSwitch ParameterWhether or not to get list of monitored containers by DxReg only.FalseFalse

Examples

Dx-GetMonitoredApps -NodeName "node1" -DxHeath

Dx-GetMonitoredDockers

Get a list of all monitored Docker containers.

Syntax

Dx-GetMonitoredDockers [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all monitored Docker containers by DxHealth and DxReg.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
DxHealthSwitch ParameterWhether or not to get list of monitored containers by DxHealth only.FalseFalse
DxRegSwitch ParameterWhether or not to get list of monitored containers by DxReg only.FalseFalse

Examples

Dx-GetMonitoredDockers -NodeName "node1" -DxHealth

Dx-GetMonitoredFileShares

Get a list of all monitored fileshares.

Syntax

Dx-GetMonitoredFileShares [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all monitored fileshares by DxHealth and DxReg.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
DxHealthSwitch ParameterWhether or not to get list of monitored fileshares by DxHealth only.FalseFalse
DxRegSwitch ParameterWhether or not to get list of monitored fileshares by DxReg only.FalseFalse

Examples

Dx-GetMonitoredFileShares -NodeName "node1" -DxHealth

Dx-GetMonitoredInstances

Get a list of all monitored SQL Server instances.

Syntax

Dx-GetMonitoredInstances [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all monitored SQL Server instances by DxHealth and DxReg.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
DxHealthSwitch ParameterWhether or not to get list of monitored instances by DxHealth only.FalseFalse
DxRegSwitch ParameterWhether or not to get list of monitored instances by DxReg only.FalseFalse

Examples

Dx-GetMonitoredIntances -NodeName "node1" -DxReg

Dx-GetMonitoredServices

Get a list of all monitored services.

Syntax

Dx-GetMonitoredServices [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all monitored services by DxHealth and DxReg.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
DxHealthSwitch ParameterWhether or not to get list of monitored services by DxHealth only.FalseFalse
DxRegSwitch ParameterWhether or not to get list of monitored services by DxReg only.FalseFalse

Examples

Dx-GetMonitoredServices -NodeName "node1" -DxHealth

Dx-GetNodeDetail

Get a node detail.

Syntax

Dx-GetNodeDetail [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns system info for a cluster member node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.FalseTrue

Examples

Dx-GetNodeDetail -NodeName "node1"

Dx-GetOTPK

Get any registered one-time passkeys.

Syntax

Dx-GetOTPK [<CommonParameters>]

Detailed Description

This cmdlet returns any currently registerd one-time passkeys for the cluster.

Parameters

None

Examples

Dx-GetPolicies

Dx-GetPolicies

Get a list of policies.

Syntax

Dx-GetPolicies [<CommonParameters>]

Detailed Description

This cmdlet returns a list of policies currently configured for DxEnterprise.

Parameters

None

Examples

Dx-GetPolicies

Dx-GetPolicy

Get a policy detail.

Syntax

Dx-GetPolicy [-PolicyID] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns policy details.

Parameters

NameTypeDescriptionRequiredCommand-line Input
PolicyIDStringThe GUID of the policy.TrueTrue

Examples

Dx-GetPolicy -PolicyID "2D2E01D6-D912-4887-BAC0-9622CB1BE71E"

Dx-GetProductType

Get product type.

Syntax

Dx-GetProductType [<CommonParameters>]

Detailed Description

This cmdlet returns the product type and version of the connected cluster.

Parameters

None

Examples

Dx-GetProductType

Dx-GetReservation

Get the SCSI reservations for a specific disk ID.

Syntax

Dx-GetReservation [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the SCSI reservations for the specified DiskID.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID of the disk in which to query the reservations.TrueTrue

Examples

Dx-GetReservation -DiskID "dad7b407-b77a-b98b-edbb-df64556eeb17"

Dx-GetServiceDetail

Get service details.

Syntax

Dx-GetServiceDetail [-VhostName] <string> [-ServiceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns details about the specified service.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue

Examples

Dx-GetServiceDetail -VhostName "vhost1" -ServiceName "SQLBrowser"

Dx-GetSMTP

Get SMTP settings for the cluster.

Syntax

Dx-GetSMTP [<CommonParameters>]

Detailed Description

This cmdlet returns the SMTP configuration for the current cluster.

Parameters

None

Examples

Dx-GetSMTP

Dx-GetSQLPaths

Get SQL Server instance paths.

Syntax

Dx-GetSQLPaths [-InstanceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the SQL Server instance start up path for master data, error log, and master log.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe name of the instance in the format of <vhost>\<instance>.TrueTrue

Examples

Dx-GetSQLPaths -InstanceName "vhost1\customer"

Dx-GetTunnels

Returns tunnel details.

Syntax

Dx-GetTunnels [<CommonParameters>]

Detailed Description

This cmdlet returns all tunnel information for the cluster.

Parameters

None

Examples

Dx-GetTunnels

Dx-GetUnusedDriveLetters

Get a list of available drive letters.

Syntax

Dx-GetUnusedDriveLetters [-VolID] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns list of drive letters that are unused. If a volume ID is included, the drive letter for the volume ID will be returned also.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.FalseTrue

Examples

Dx-GetUnusedDriveLetters -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-GetVersion

Get the DxLMonitor version.

Syntax

Dx-GetVersion [<CommonParameters>]

Detailed Description

This cmdlet returns the current version of DxLMonitor being used.

Parameters

None

Examples

Dx-GetVersion

Dx-GetVhost

Get Vhost detail.

Syntax

Dx-GetVhost [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the configuration of a specific Vhost, including the set of nodes associated with the Vhost, and the set of instances, services or file shares associated with the Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-GetVhost -VhostName "vhost1"

Dx-GetVhosts

Get details for all Vhosts.

Syntax

Dx-GetVhosts [<CommonParameters>]

Detailed Description

This cmdlet returns a complete contents of the cluster configuration (i.e. DxVhost.xml file).

Parameters

None

Examples

Dx-GetVhosts

Dx-GetVolumeDetail

Get the details of a specific volume.

Syntax

Dx-GetVolumeDetail [VolID] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns the details of the selected volume.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue

Examples

Dx-GetVolumeDetail -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-GetWitness

Get the current cluster witness settings.

Syntax

Dx-GetWitness

Detailed Description

This cmdlet returns the current witness settings for the cluster.

Parameters

None

Examples

Dx-GetWitness

Dx-ImportAGS

Imports and existing availability group.

Syntax

Dx-ImportAGS [-VhostName] <string> [-AGSName] <string> -AGSParams <string[]> [<CommonParameters>]

Detailed Description

This cmdlet imports and existing availability group to be under DxEnterprise managment.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
AGSParamsStringComma delimited parameter sets for each member of the availability group:`<node_nameinstance_namesql_login

Examples

Dx-ImportAGS -VhostName "Vhost1" -AGSName "AGS1" -AGSParams "node1|instance1|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit","node2|instance2|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit"

Dx-InstallSQL

Install a Microsoft SQL Server instance.

Syntax

Dx-InstallSQL [-Nodes] <string> [-ExecutingCommand] <string> [[-CIFUserName] <string>] [[CIFPassword] <string>] [[-ConfigFile] <string>] [-EncryptedPassword] [-IsSQL2005] [<CommonParameters>]

Detailed Description

This cmdlet pushes an unattended installation of SQL Server instance to specified nodes. The instance will not be virtualized automatically; see documentation for the add-instance command. Full command line must be provided for the installer and the path to the installer must be accessible on all nodes involved. Valid unattended commands and syntax for SQL Server can be found at:

a. SQL2005 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.90).aspx>

b. SQL2008 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.100).aspx>

c. SQL2008R2 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.105).aspx> 

d. SQL2012 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.110).aspx>  

e. SQL2014 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.120).aspx>

f. SQL2016 unattended setup:

* <http://msdn.microsoft.com/en-us/library/ms144259(v=SQL.130).aspx>

g. SQL2019 unattended setup:

* [Microsoft SQL Server installation - Command Prompt parameters](https://docs.microsoft.com/en-us/sql/database-engine/install-windows/install-sql-server-from-the-command-prompt?view=sql-server-ver15)

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodesStringA list of nodes to execute the unattended SQL Server installation. Delimited by comma.TrueTrue
Executing CommandStringSubsequent <string> parameters after the Nodes list to form proper unattended SQL Server installation command.TrueTrue
CIFSUserNameStringSQL Server Login username.FalseTrue
CIFSPasswordStringSQL Server Password.FalseTrue
ConfigFileStringPath to file with detail install meta data.FalseTrue
EncryptedPasswordSwitch ParameterWhether or not the supplied password value is an encrypted string obtained from Dx-EncryptText cmdlet. Default is false.FalseFalse
IsSQL2005Switch ParameterSpecifies fi the instance being installed is SQL Server 2005. Default is false.FalseFalse

Examples

Dx-InstallSQL -Nodes "node1,node2 " <Executing commands>

Dx-JoinCluster

Joins a new node to an existing cluster.

Syntax

Dx-JoinCluster [-ServerName] <string> -Passkey <string> -NatEnabled [-Activate] [<CommonParameters>]

Detailed Description

This cmdlet removes the currently connected node from any existing cluster and adds it to the cluster of the specified server.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ServerNameStringThe target member server of the cluster to join the currently connected node.TrueTrue
PasskeyStringThe configured cluster passkey of the target cluster member.TrueTrue
NatEnabledSwitch ParameterWhether or not to use the DH2i MatchMaking service to join via NAT. When enabled then match.dh2i.com is used for the ServerName and an OTPK is used for the PassKey.FalseFalse
ActivateSwitch ParameterWhether or not to activate the node after joining the new cluster.FalseFalse

Examples

Dx-JoinCluster -ServerName "node1" -Passkey "Pa$$w0rd" -Activate

Dx-ListGlobalsettings

List the global settings.

Syntax

Dx-ListGlobalsettings [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all available global settings in plain text, including their definitions and defaults.

Parameters

None

Examples

Dx-ListGlobalsettings

Dx-ListGlobalsettingsXML

List the global settings.

Syntax

Dx-ListGlobalsettingsXML [<CommonParameters>]

Detailed Description

This cmdlet returns a list of all available global settings in XML, including their definitions and defaults.

Parameters

None

Examples

Dx-ListGlobalsettingsXML

Dx-ReloadMonitoredApps

Reloads the list of monitored apps.

Syntax

Dx-ReloadMonitoredApps [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet reloads the list of monitored applications on the specified node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node where DxHealth and/or DxReg must re-evaluate and monitor the active apps.TrueTrue
DxHealthSwitch ParameterWhether or not only DxHealth should reload.FalseFalse
DxRegSwitch ParameterWhether or not only DxReg should reload.FalseFalse

Examples

Dx-ReloadMonitoredApps -NodeName "node1"

Dx-ReloadMonitoredDockers

Reload the list of monitored Docker containers.

Syntax

Dx-ReloadMonitoredDockers [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet re-evaluates the list of active Docker containers and ensures DxHealth and/or DxReg monitor them.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node where DxHealth and/or DxReg must re-evaluate and monitor the active containers.TrueTrue
DxHealthSwitch ParameterWhether or not only DxHealth should reload.FalseFalse
DxRegSwitch ParameterWhether or not only DxReg should reload.FalseFalse

Examples

Dx-ReloadMonitoredDockers -NodeName "node1"

Dx-ReloadMonitoredFileShares

Reload the list of monitored fileshares.

Syntax

Dx-ReloadMonitoredFileShares [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet re-evaluates the list of active fileshares and ensures DxHealth and/or DxReg monitor them.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node where DxHealth and/or DxReg must re-evaluate and monitor the active fileshares.TrueTrue
DxHealthSwitch ParameterWhether or not only DxHealth should reload.FalseFalse
DxRegSwitch ParameterWhether or not only DxReg should reload.FalseFalse

Examples

Dx-ReloadMonitoredFileShares -NodeName "node1"

Dx-ReloadMonitoredInstances

Reload the list of monitored SQL Server instances.

Syntax

Dx-ReloadMonitoredInstances [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet re-evaluates the list of active SQL Server instances and ensures DxHealth and/or DxReg monitor them.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node where DxHealth and/or DxReg must re-evaluate and monitor the active instances.TrueTrue
DxHealthSwitch ParameterWhether or not only DxHealth should reload.FalseFalse
DxRegSwitch ParameterWhether or not only DxReg should reload.FalseFalse

Examples

Dx-ReloadMonitoredInstances -NodeName "node1"

Dx-ReloadMonitoredServices

Reload the list of monitored services.

Syntax

Dx-ReloadMonitoredServices [-NodeName] <string> [-DxHealth] [-DxReg] [<CommonParameters>]

Detailed Description

This cmdlet re-evaluates the list of active services and ensures DxHealth and/or DxReg monitor them.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node where DxHealth and/or DxReg must re-evaluate and monitor the active services.TrueTrue
DxHealthSwitch ParameterWhether or not only DxHealth should reload.FalseFalse
DxRegSwitch ParameterWhether or not only DxReg should reload.FalseFalse

Examples

Dx-ReloadMonitoredServices -NodeName "node1"

Dx-RelocateSystemDatabases

Relocate system databases to a new location.

Syntax

Dx-RelocateSystemDatabases [-InstanceName] <string> -Datapath <string> -Logpath <string> [-Msdb] [-Tempdb] [-Model] [<CommonParameters>]

Detailed Description

This cmdlet relocates the master, msdb, model, and tempdb database to a new location.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe target instance to be relocated. Valid format is <Vhost><InstanceName>.TrueTrue
DataPathStringNew location for Data.TrueTrue
LogPathStringNew location for Logs.TrueTrue
MsdbSwitch ParameterWhether or not to relocate msdb database.FalseFalse
TempdbSwitch ParameterWhether or not to relocate tempdb database.FalseFalse
ModelSwitch ParameterWhether or not to relocate model database.FalseFalse

Examples

Dx-RelocateSystemDatabases -InstanceName "vhost1\customer" -DataPath "D:\Sqldata\Customer\Data" -LogPath "D:\Sqldata\Customer\Logs" -Msdb -Tempdb -Model

Dx-RemoveAddressFilter

Removes address filter.

Syntax

Dx-RemoveAddressFilter [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes an address filter from the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the address filter.TrueTrue

Examples

Dx-RemoveAddressFilter -Name "filter1"

Dx-RemoveAGS

Remove an availability group from a Vhost.

Syntax

Dx-RemoveAGS [-VhostName] <string> [-AGSName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes an availability group from an existing Vhost. This cmdlet also removes the availability group from the SQL Server configuration.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue

Examples

Dx-RemoveAGS -VhostName "vhost1" -AGSName "ags1"

Dx-RemoveAGSDatabases

Remove a database from an availability group.

Syntax

Dx-RemoveAGSDatabases [-VhostName] <string> [-AGSName] <string> -Databases <string> [<CommonParameters>]

Detailed Description

This cmdlet removes databases from an existing availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
DatabasesStringComma delimited list of database names.TrueTrue

Examples

Dx-RemoveAGSDatabases -VhostName "vhost1" -AGSName "ags1" -Databases "db1,db2,db3"

Dx-RemoveAGSListener

Remove a listener port from an availability group.

Syntax

Dx-RemoveAGSListener [-VhostName] <string> [-AGSName] <string> [<CommonParameters>]

Detailed Description

This cmdlet remove the TCP listener port from an availability group.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue

Examples

Dx-RemoveAGSListener -VhostName "vhost1" -AGSName "ags1"

Dx-RemoveClient

Remove client from cluster.

Syntax

Dx-RemoveClient [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a DxConnect client from the cluster.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the client.True

Example

Dx-RemoveClient -Name "client1"

Dx-RemoveClientGroup

Remove a group from cluster.

Syntax

Dx-RemoveClientGroup [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a client group from the cluster.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the group.True

Example

Dx-RemoveClientGroup -Name "group1"

Dx-RemoveClusterMember

Remove a cluster member.

Syntax

Dx-RemoveClusterMember [-ServerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a member from the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ServerNameStringThe target node to be removed from the cluster.TrueTrue

Examples

Dx-RemoveClusterMember -ServerName "node1"

Dx-RemoveContact

Remove a contact from address book.

Syntax

Dx-RemoveContact [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a contact from the address book.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe contact to be removed from the address book.TrueTrue

Examples

Dx-RemoveContact -Name "support"

Dx-RemoveDisk

Remove a disk from the cluster.

Syntax

Dx-RemoveDisk [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the disk from DxEnterprise management.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label.TrueTrue

Examples

Dx-RemoveDisk -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-RemoveDocker

Remove a Docker container from a Vhost.

Syntax

Dx-RemoveDocker [-VhostName] <string> [-DockerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the Docker container from the specified Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the Docker container.TrueTrue

Examples

Dx-RemoveDocker -VhostName "vhost1" -DockerName "mssql1"

Dx-RemoveFileshare

Remove a fileshare from the cluster.

Syntax

Dx-RemoveFileshare [-VhostName] <string> [-ShareName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a fileshare from a Vhost. The Windows file share will be removed on all nodes associated with the Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ShareNameStringThe name of the fileshare.TrueTrue

Examples

Dx-RemoveFileShare -VhostName "vhost1" -ShareName "share1"

Dx-RemoveGlobalSetting

Remove a global setting from the cluster.

Syntax

Dx-RemoveGlobalsetting [[-Name] <string>] [-ClusterDescription] [-IntervalProcessor] [-IntervalMemory] [-IntervalDisk] [-IntervalNetwork] [-FileSystemTimeout] [-PingTimeout] [-PathRecheckTimeout] [-VhostRetryTimeout] [-DelayStopNode] [-DelayStartNode] [-AllocatorEnabled] [-AllocatorAlerts] [-RelayBroadcast] [-PassKey] [-WitnessPath] [-WitnessUser] [-WitnessUserPassword] [-DismountTimeout] [-DockerTimeout] [-GratuitousARP] [-IntervalReservationCheck] [-IoTimeout] [-MaxProcesses] [-PathWatcher] [-PerfBroadcastEnabled] [-ScriptTimeout] [-VdsWait] [-VolumeTimeout] [-AgsTimeout] [<CommonParameters>]

Detailed Description

This cmdlet removes a user defined global setting value and resets it back to its default value.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe target setting name to be removed.FalseFalse
ClusterDescriptionSwitch ParameterWhether or not to remove the cluster description.FalseFalse
IntervalProcessorSwitch ParameterWhether or not to reset the sampling duration in seconds that the average is calculated for CPU. When set, the system defaults back to 120 seconds.FalseFalse
IntervalMemorySwitch ParameterWhether or not to reset the sampling duration in seconds that the average is calculated for Memory. When set, the system defaults back to 1 seconds.FalseFalse
IntervalDiskSwitch ParameterWhether or not to reset the sampling duration in seconds that the average is calculated for Disk I/O. When set, the system defaults back to 120 seconds.FalseFalse
IntervalNetworkSwitchParameterWhether or not to reset the sampling duration in seconds DH2i Software PowerShell Administration Guide 73 that the average is calculated for Network throughput. When set, the system defaults back to 120 seconds.FalseFalse
FileSystemTimeoutSwitch ParameterWhether or not to reset the timeout in seconds that the system waits for filesystem accessibility before taking actions. When set, the system defaults back to 120 seconds.FalseFalse
PingTimeoutSwitch ParameterWhether or not reset the timeout in seconds that the system waits for ping to complete before taking actions. When set, the system defaults back to 9 seconds.FalseFalse
PathRecheckTimeoutSwitch ParameterWhether or not to reset the number of seconds between the system attempts to check the inaccessible application paths. When set, the system defaults back to 120 seconds.FalseFalse
VhostRetryTimeoutSwitch ParameterWhether or not to reset the number of seconds between the system retries to start a Vhost after the last start-node failure. When set, the system defaults back to 120 seconds.FalseFalse
DelayStopNodeSwitch ParameterWhether or not to reset the short delay in seconds that the system waits after stop-node operation to avoid duplicate IP address. When set, the system defaults back to 2 seconds.FalseFalse
DelayStartNodeSwitch ParameterWhether or not to reset the short delay in seconds that the system waits after add-ip operation. When set, the system defaults back to 4 seconds.FalseFalse
AllocatorEnabledSwitch ParameterWhether or not to enable Allocation policies. Default is true.FalseFalse
AllocatorAlertsSwitch ParameterWhether or not to raise alerts for Allocation policies. Default is true.FalseFalse
RelayBroadcastSwitch ParameterWhether or not to support relay broadcast messages. Default is true.FalseFalse
PasskeySwitch ParameterWhether or not to reset the passkey value. When set, the system clears and sets the current passkey for the cluster as empty. If a passkey is changed when one or more cluster nodes are unavailable or temporarily down, those nodes will be unable to join the cluster when they become available.FalseFalse
WitnessPathSwitch ParameterWhether or not to reset the network share paths for Witness. When set, the system clears all path values.FalseFalse
WitnessUserSwitch ParameterWhether or not to reset the User name for the Witness. When set, the system clears the credential.FalseFalse
WitnessUserPasswrodSwitch ParameterWhether or not to reset the Password for the Witness. When set, the system clears the credential password.FalseFalse
DismountTimeoutSwitch ParameterWhether or not to reset timeout in seconds that the system waits for file handles to be closed on a volume before performing a forced dismount. When set, the system defaults back to 15 seconds.FalseFalse
DockerTimeoutSwitch ParameterWhether or not to reset the timeout in seconds that the system waits for a Docker container to return the running state when adding a container to a Vhost. When set, the system defaults back to 5 seconds.FalseFalse
GratuitousARPSwitch ParameterWhether or not to enable sending gratuitous ARP. Default is false.FalseFalse
IntervalReservationCheckSwitch ParameterWhether or not to reset the sampling duration in seconds that the system rechecks the reservation. When set, the system defaults back to 5 seconds.FalseFalse
IOTimeoutSwitch ParameterWhether or not to reset the timeout in seconds that the system waits for I/O API call to complete. When set, the system defaults back to 15 seconds.FalseFalse
MaxProcessesSwitch ParameterWhether or not to reset the number of processes the system allows to be worked on in parallel. When set, the system defaults back to 10.FalseFalse
PathWatcherSwitch ParameterWhether or not to enable Pathwatcher. Default is true.FalseFalse
PerfBroadcastEnabledSwitch ParameterWhether or not to enable performance statistics broadcast. True via UDP. False via TCP. Default is false.FalseFalse
ScriptTimeoutSwitch ParameterWhether or not to reset the timeout in seconds that the system waits for a pre/post script to complete before taking actions. When set, the system defaults back to 300 seconds.FalseFalse
VdsWaitSwitch ParameterWhether or not to reset the timeout in seconds that the system will wait for a PnPenumerated disk or volume to be noticed by VDS and reported. When set, the system defaults back to 15 seconds.FalseFalse
VolumeTimeoutSwitch ParameterWhether or not to reset the timeout in seconds that the system waits for a volume PnP device to appear after setting a disk to the online state. When set, the system defaults back to 15 seconds.FalseFalse
AgsTimeoutSwitch ParameterThe timeout in seconds that the system waits for an availability group to finish virtualizing.FalseFalse

Examples

Dx-RemoveGlobalSetting -InternalProcessor

Dx-RemoveInstance

Remove an instance from a Vhost.

Syntax

Dx-RemoveInstance [-InstanceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a named instance of SQL Server from a Vhost. Database files and log files on the SAN are not modified or deleted by this process.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe target instance name to be removed. Valid format is <vhost>\<instance_name>.TrueTrue

Examples

Dx-RemoveInstance -InstanceName "vhost1\customer"

Dx-RemoveNode

Remove node(s) from a Vhost.

Syntax

Dx-RemoveNode [-VhostName] <string> [-Nodes] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes node(s) from a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodesStringA set of nodes to be removed. Delimited by comma.TrueTrue

Examples

Dx-RemoveNode -VhostName "vhost1" -Nodes "node1,node2"

Dx-RemovePolicy

Remove a policy from the cluster.

Syntax

Dx-RemovePolicy [-SYSTEM] [-PolicyID] <string> [<CommonParameters>]

Dx-RemovePolicy [-PERF] [-PolicyID] <string> [<CommonParameters>]

Dx-RemovePolicy [-ALLOC] [-PolicyID] <string> [<CommonParameters>]

Dx-RemovePolicy [-FILTER] [-PolicyID] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a policy from the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
SYSTEMSwitch ParameterWhether or not a SYSTEM type policy.TrueTrue
PERFSwitch ParameterWhether or not a PERF type policy.TrueTrue
ALLOCSwitch ParameterWhether or not a ALLOC type policy.TrueTrue
FILTERSwitch ParameterWhether or not a FILTER type policy.TrueTrue
PolicyIDStringThe policy ID to be removed.TrueTrue

Examples

Dx-RemovePolicy -SYSTEM "NODE1"
Dx-RemovePolicy -PERF "CPU_CUSTOMER_80PC"
Dx-RemovePolicy -ALLOC "2D2E01D6-D912-4887-BAC0-9622CB1BE71E"
Dx-RemovePolicy -FILTER "D338E9DB-BA30-49C4-8A93-7C12AA1FC26A"

Dx-RemoveScript

Remove a custom script.

Syntax

Dx-RemoveScript [-Name] <string> [-ScriptName] {PreStart | PostStart | PreStop | PostStop} [-ScriptType] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a PreStart, PostStart, PreStop or PostStop script from a Vhost, SQL Server instance, service or Docker.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the target entity. Valid values are <vhost>, <vhost>\<instance>, <docker> and <service>.TrueTrue
ScriptNameStringSpecifies whether it is a PreStart, PostStart, PreStop or PostStop script.TrueTrue
ScriptTypeStringThe type of script to be removed. Valid values are "vhost", "instance", "service" and "docker".FalseFalse

Examples

Dx-RemoveScript -Name "vhost1" -ScriptName "PreStart" -ScriptType "vhost"

Dx-RemoveService

Remove a service from a Vhost.

Syntax

Dx-RemoveService [-VhostName] <string> [-ServiceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a service from a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue

Examples

Dx-RemoveService -VhostName "vhost1" -ServiceName "SQLBrowser"

Dx-RemoveServiceRegistry

Remove the registry of a service.

Syntax

Dx-RemoveServiceRegistry [-VhostName] <string> [-ServiceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the registry from a service on the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue

Examples

Dx-RemoveService -VhostName "vhost1" -ServiceName "ALG"

Dx-RemoveSMTP

Remove a SMTP configuration from the cluster.

Syntax

Dx-RemoveSMTP [-ServerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the SMTP configuration from the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ServerNameStringThe target server name to be removed.TrueTrue

Examples

Dx-RemoveSMTP -ServerName "smtp.dh2i.com"

Dx-RemoveTunnel

Remove a tunnel from the cluster.

Syntax

Dx-RemoveTunnel [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes the tunnel specified from the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the tunnel to be removed.TrueTrue

Examples

Dx-RemoveTunnel -Name "tunnel2"

Dx-RemoveVhost

Remove a Vhost.

Syntax

Dx-RemoveVhost [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet removes a Vhost from the cluster configuration.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-RemoveVhost -VhostName "vhost1"

Dx-RemoveWitness

Remove the current cluster witness settings.

Syntax

Dx-RemoveWitness

Detailed Description

This cmdlet removes the current witness settings for the cluster.

Parameters

None

Examples

Dx-RemoveWitness

Dx-RescanDisk

Rescan disk properties.

Syntax

Dx-RescanDisk [[-DiskID] <string>] [<CommonParameters>]

Detailed Description

This cmdlet instructs the cluster to re-evaluate disk layout signature for all disks or a specific disk.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID DIsk ID(s) or disk label(s). Delimited by pipe (|).FalseTrue

Examples

Dx-RescanDisk -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-RestartGroupCommunicationEx

Restart cluster group communication.

Syntax

Dx-RestartGroupCommunicationEx [<CommonParameters>]

Detailed Description

This cmdlet restarts cluster group communications. This is an internal cmdlet to force the cluster to re-establish cluster member communication channels.

Parameters

None

Examples

Dx-RestartGroupCommunicationEx

Dx-ResyncAGSSecondary

Resynchronizes a secondary replica in the availability group.

Syntax

Dx-ResyncAGSSecondary [-VhostName] <string> [-AGSName] <string> -NodeName <string> [<CommonParameters>]

Detailed Description

This cmdlet resynchronizes a secondary replica in the availability group to ensure that the node configuration is set as a secondary role.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-ResyncAGSSecondary -VhostName "vhost1" -AGSName "ags1" -NodeName "node2"

Dx-SetAGSCred

Set the credentials for an availability group replica.

Syntax

Dx-SetAGSCred [-VhostName] <string> [-AGSName] <string> -AGSParams <string[]> [<CommonParameters>]

Detailed Description

This cmdlet assigns the credentials to use for a specific availability group replica.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
AGSParamsStringComma delimited parameter sets for the availability group replica: `<node_nameinstance_namesql_login

Examples

Dx-SetAGSCred -VhostName "vhost1" -AGSName "ags1" -AGSParams "node1|instance1|sa|qC0Tfb6Px/bfFDA5PTSDlA==|5022|synchronous_commit"

Dx-SetAGSNodeAvailabilityMode

Syntax

Dx-SetAGSNodeAvailabilityMode [-VhostName] <string> [-AGSName] <string> -ReplicaName <string> -AvailabilityMode <string> [<CommonParameters>]

Detailed Description

This cmdlet allows the availability mode of secondary replicas to be modified.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AGSNameStringThe name of the availability group.TrueTrue
ReplicaNameStringThe name of the replica node.TrueTrue
AvailabilityModeStringValid values are synchronous_commit or asynchronous_commit.TrueTrue

Examples

Dx-SetAGSNodeAvailabilityMode -VhostName "vhost1" -AGSName "ags1" -ReplicaName "node2" -AvailabilityMode "asynchronous_commit"

Dx-SetAppCoordinator

Set a cluster member node to be the new application coordinator.

Syntax

Dx-SetAppCoordinator [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet assigns application coordinator role to a cluster member node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe target node name to be the new application coordinator.TrueTrue

Examples

Dx-SetAppCoordinator -Name "node1"

Dx-SetClusterID

Set a new cluster ID.

Syntax

Dx-SetClusterID [[-NewGUID] <string>] [<CommonParameters>]

Detailed Description

This cmdlet assigns a new cluster ID.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe new GUID to be used as the cluster ID. Default is system generated.FalseTrue

Examples

Dx-SetClusterID -Name "A66E9911-8F30-400C-9A48-FE543E129E68"

Dx-SetClusterMemberAddresses

Sets address for members.

Syntax

Dx-SetClusterMemberAddresses [-NodeName] <string> [-Addresses] <string> [<CommonParameters>]

Detailed Description

This cmdlet allows setting the address for a member in the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue
AddressStringIP Address, alias, or asterisk("") to assign to the node. The asterisk () selection will cycle through the interfaces until a valid connection is established to the other cluster members.TrueTrue

Examples

Dx-SetClusterMemberAddresses -NodeName "node1" -Address "10.1.10.101"

Dx-SetCoordinator

Set a cluster member node to be the new cluster coordinator.

Syntax

Dx-SetCoordinator [-Name] <string> [<CommonParameters>]

Detailed Description

This cmdlet assigns cluster coordinator role to a cluster member node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe target node name to be the new cluster coordinator.TrueTrue

Examples

Dx-SetCoordinator -Name "node1"

Dx-SetDepends

Defines the startup order of services in a list of dependencies.

Syntax

Dx-SetDepends [-VhostName] <string> [-AppName] <string> [-DependsList] <string> [<CommonParameters>]

Detailed Description

This cmdlet defines the startup order of services in a list of dependencies. When an instance or service is depending on another instances or services, it would not start up until the depended on instances or services start up first. If a circular reference is set for the dependencies (i.e. instance1 depends on service1, and service1 depends on instance1), the system will break the dependency tree and revert back to default behavior as if there is not a dependency set.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AppNameStringThe application type followed by a colon (:) and the name of the application. Valid types are SQL, SVC, VFS and DCK.TrueTrue
DependsListStringA comma (,) delimited list of services in startup order, or an empty string to clear.TrueTrue

Examples

Dx-SetDepends -VhostName "vhost1" -AppName "SVC:SQLBrowser" -DependsList "SQL:instance1"

Dx-SetDiskLabel

Update the disk label.

Syntax

Dx-SetDiskLabel [-DiskID] <string> [-Label] <string> [<CommonParameters>]

Detailed Description

This cmdlet updates the disk label.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk labelTrueTrue
LabelStringThe new label nameTrueTrue

Examples

Dx-SetDiskLabel -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -Label "Dx Cluster Disk 1"

Dx-SetDockerDescription

Update the Docker container description.

Syntax

Dx-SetDockerDescription [-DockerName] <string> [[-Description] <string>] [<CommonParameters>]

Detailed Description

This cmdlet updates the description of a Docker container.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DockerNameStringThe name of the container.TrueTrue
DescriptionStringUser defined description.FalseFalse

Examples

Dx-SetDockerDescription -DockerName "mssql1" -Description "SQL Server Container"

Dx-SetFailback

Set failback option for a Vhost.

Syntax

Dx-SetFailback [-VhostName] <string> -AutoFailback [<CommonParameters>]

Detailed Description

This cmdlet enables or disables autofailback for a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
AutoFailbackSwitch ParameterEnable or disable autofailback for the Vhost.TrueTrue

Examples

Dx-SetFailback -VhostName "vhost1" -AutoFailback $true

Dx-SetGlobalSetting

Set global setting value(s).

Syntax

Dx-SetGlobalsetting [-AllocatorEnabled <bool>] [-AllocatorAlerts] [-RelayBroadcast] [-Name <string>] [-Value <string>] [-ClusterDescription <string>] [-IntervalProcessor <int>] [-IntervalMemory <int>] [-IntervalDisk <int>] [-IntervalNetwork <int>] [-FileSystemTimeout <int>] [-PingTimeout <int>] [-PathRecheckTimeout <int>] [-VhostRetryTimeout <int>] [-DelayStopNode <int>] [-DelayStartNode <int>] [-PassKey <string>] [-WitnessPath <string>] [-WitnessUser <string>] [-WitnessUserPassword <string>] [-DismountTimeout <int>] [-DockerTimeout <int>] [-GratuitousARP] [-IntervalReservationCheck <int>] [-IoTimeout <int>] [-MaxProcesses <int>] [-PathWatcher] [-PerfBroadcastEnabled] [-ScriptTimeout <int>] [-VdsWait <int>] [-VolumeTimeout <int>] [-AgsTimeout] [<CommonParameters>]

Detailed Description

This cmdlet sets global setting values for the cluster.

Parameters

NameTypeDescriptionRequiredCommand-line Input
AgsTimeoutIntegerThe timeout in seconds that the system waits for an availability group to finish virtualizing.FalseFalse
AllocatorAlertsSwitch ParameterWhether or not to raise alerts for allocation policies.FalseFalse
AllocatorEnabledBoolWhether or not to enable allocation policies.FalseFalse
ClusterDescriptionStringThe cluster description to be set.FalseFalse
DelayStartNodeIntegerThe short delay in seconds that the system waits after add-ip operation.FalseFalse
DelayStopNodeIntegerThe short delay in seconds that the system waits after stop-node operation to avoid duplicate IP address.FalseFalse
DismountTimeoutIntegerThe timeout in seconds that the system waits for file handles to be closed on a volume before performing a forced dismount.FalseFalse
DockerTimeoutIntegerThe timeout in seconds that the system waits for a Docker container to return the running state when adding a container to a Vhost.FalseFalse
FileSystemTimeoutIntegerThe timeout in seconds that the system waits for filesystem accessibility before taking actions.FalseFalse
GratuitousARPSwitch ParameterEnable or Disable sending gratuitous ARP.FalseFalse
IntervalDiskIntegerThe sampling duration in seconds that the average is calculated for Disk I/O.FalseFalse
IntervalMemoryIntegerThe sampling duration in seconds that the average is calculated for Memory.FalseFalse
IntervalNetworkIntegerThe sampling duration in seconds that the average is calculated for Network throughput.FalseFalse
IntervalProcessorIntegerThe sampling duration in seconds that the average is calculated for CPU.FalseFalse
IntervalReservationCheckIntegerThe sampling duration in seconds that the system rechecks the reservation.FalseFalse
IoTimeoutIntegerThe timeout in seconds that the system waits for I/O API call to complete.FalseFalse
MaxProcessesIntegerThe number of processes the system allows to be worked on in parallel.FalseFalse
NameStringThe target setting name to set. Internal use.FalseFalse
PasskeyStringThe passkey value. Setting a passkey enables encryption of network data and prevents nodes from joining the cluster that do not have the same passkey configured. If an empty passkey is set, the passkey is removed. If a passkey is set when one or more cluster nodes are unavailable or temporarily down, those nodes will be unable to join the cluster when they become available.FalseFalse
PathRecheckTimeoutIntegerThe number of seconds between the system attemps to check the inaccessible application paths.FalseFalse
PathWatcherSwitch ParameterEnable or Disable Pathwatcher.FalseFalse
PerfBroadcastEnabledSwitch ParameterEnable or Disable performance statistics broadcast. True via UDP. False via TCP.FalseFalse
PingTimeoutIntegerThe timeout in seconds that the system waits for ping to complete before taking actions.FalseFalse
RelayBroadcastSwitch ParameterWhether or not to support relay broadcast messages.FalseFalse
ScriptTimeoutIntegerThe timeout in seconds that the system waits for a pre/post script to complete before taking actions.FalseFalse
ValueStringThe target value for the Name setting. Internal use.FalseFalse
VdsWaitIntegerThe timeout in seconds that the system will wait for a PnP-enumerated disk or volume to be noticed by VDS and reported.FalseFalse
VhostRetryTimeoutIntegerThe number of seconds between the system retries to start a Vhost after the last start-node failure.FalseFalse
VolumeTimeoutIntegerThe timeout in seconds that the system waits for a volume PnP device to appear after setting a disk to the online state.FalseFalse
WitnessPathStringThe network share paths for Witness. Delimited by comma.FalseFalse
WitnessUserStringThe User name to access the witness share paths.FalseFalse
WitnessUserPasswordStringThe Password to access the witness share paths.FalseFalse

Examples

Dx-SetGlobalSetting -ClusterDescription "Dx Cluster 1"

Dx-SetInstanceDescription

Set a description for an instance.

Syntax

Dx-SetInstanceDescription [-InstanceName] <string> [[-Description] <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets a description for an instance of SQL Server.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe instance name. Valid value is <Vhost>\<InstanceName>.TrueTrue
DescriptionStringUser defined description.FalseFalse

Examples

Dx-SetInstanceDescription -InstanceName "vhost1\customer" -Description "Customer Instance"

Dx-SetLicense

Activate a node.

Syntax

Dx-SetLicense [-LicenseCode] <string> [[-NodeName] <string>] [<CommonParameters>]

Dx-SetLicense [-LicenseCode] <string> [[-NodeName] <string>] -Manual -Answer <string> [<CommonParameters>]

Detailed Description

This cmdlet activates the node with a license code either automatically if the node is connected to the internet or manually if the node is not connected to the internet.

Parameters

NameTypeDescriptionRequiredCommand-line Input
LicenseCodeStringThe assigned license code to be used to activate the node.TrueTrue
NodeNameStringThe target node name to be activated. Default is localhost if not specified.FalseTrue
ManualSwitch ParameterWhether or not a manual activation. If set, the Answer must be provided.FalseFalse
AnswerStringThe Answer value obtained from DH2i DH2i Client Portal when the target node is not connected to the internet.FalseFalse

Examples

Dx-SetLicense -LicenseCode "AAAA-BBBB-CCCC-DDDD" -NodeName "node1"

Dx-SetMountpoint

Mount a volume to a mountpoint.

Syntax

Dx-SetMountpoint [-VolID] <string> [[-MountPath] <string>] [<CommonParameters>]

Detailed Description

This cmdlet defines the mountpoint(s) for a volume.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
MountPathStringThe path(s) to mount the volume delimited by comma (,).FalseFalse

Examples

Dx-SetMountpoint -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -MountPath "C:\MountPoint1"

Dx-SetOTPK

Set a one-time passkey.

Syntax

Dx-SetOTPK [-TTL] <datetime> [-Force] [<CommonParameters>]

Detailed Description

This cmdlet sets a one-time passkey for the cluster. The OTPK is used to join cluster members together over the internet using the DH2i MatchMaking Service. When on OTPK is set, it opens a group invitation on the DH2i MatchMaking Server. Additional members that authenticate to this group using the OTPK are then allowed to find and communicate directly with each other over the internet.

Parameters

NameTypeDescriptionRequiredCommand-line Input
TTLDateTimeThe time to live for the OTPK in universal time code.FalseTrue
ForceBooleanAllows the override of an existing OTPK.FalseTrue

Examples

Dx-SetOTPK -TTL "2022-08-03T21:37:24Z"

Dx-SetScript

Configure a custom script.

Syntax

Dx-SetScript [-Name] <string> [-ScriptName] {PreStart | PostStart | PreStop | PostStop} [-FileName] <string> [-ScriptType] <string> [<CommonParameters>]

Detailed Description

This cmdlet sets a PreStart, PostStart, PreStop or Poststop script for a Vhost, instance, service or docker.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the target entity. Valid value is <Vhost>, <Vhost>\<InstanceName>, <service> or <docker>.TrueTrue
ScriptNameStringWhether it is a PreStart, PostStart, PreStop, or PostStop script.TrueTrue
FileNameStringThe full path to the script file. The script must be located at a path accessible on all nodes.TrueTrue
ScriptTypeStringThe type of script to be added. Valid values are "vhost", "instance", "service" or "docker".TrueFalse

Examples

Dx-SetScript -Name "vhost1" -ScriptName "PreStart" -FileName "C:\utility\get_processes.cmd" -ScriptType "vhost"

Dx-SetScriptEmbedded

Configure an embedded script for an instance or Vhost.

Syntax

Dx-SetScriptEmbedded [-Name] <string> [-ScriptName] {PreStart | PostStart | PreStop | PostStop} [-ScriptContent] <string> [-ScriptExtension] <string> [-InstanceScriptType] [-VhostScriptType] [<CommonParameters>]

Detailed Description

This cmdlet sets an embedded PreStart, PostStart, PreStop or PostStop script for an instance of SQL Server or a Vhost. The advantage of having an embedded script is that it is part of the cluster configuration and is always available to the cluster member nodes.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe target Vhost name or instance name. Valid value is <Vhost> or <Vhost>\<InstanceName>.TrueTrue
ScriptNameStringWhether it is a PreStart, PostStart, PreStop, or PostStop script.TrueTrue
ScriptContentStringThe script content to be embedded into the cluster configuration.TrueTrue
ScriptExtensionStringThe file extenstion. E.g. CMD, BAT, PS1.TrueTrue
InstanceScriptTypeSwitch ParameterWhether or not the script is at the Instance level. Default is true.FalseFalse
VhostScriptTypeSwitch ParameterWhether or not the script is at the Vhost level. Default is false.FalseFalse

Examples

Dx-SetScriptEmbedded -Name "vhost1" -ScriptName "PreStart" -ScriptContent "echo %computername%" -ScriptExtension "CMD" -VhostScriptType

Dx-SetSecret

Set a passkey for the cluster.

Syntax

Dx-SetSecret [[-Passkey] <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets a passkey. Setting a passkey enables encryption of network data and prevents nodes from joining the cluster that do not have the same passkey configured. If an empty passkey is set, the passkey is removed. If a passkey is set when one or more cluster nodes are unavailable or temporarily down, those nodes will be unable to join the cluster when they become available.

Parameters

NameTypeDescriptionRequiredCommand-line Input
PasskeyStringThe passkey value.TrueTrue

Examples

Dx-SetSecret -Passkey "Pa$$Key"

Dx-SetServer

Define connecting server info.

Syntax

Dx-SetServer [-EncryptedPasskey] [-UseTLS] [-Server <string>] [-Passkey <string>] [-TCPPort <int>] [-Force] [<CommonParameters>]

Detailed Description

This cmdlet defines the connection info for the Powershell session.

Parameters

NameTypeDescriptionRequiredCommand-line Input
EncryptedPasskeySwitch ParameterWhether or not the supplied passkey value is an encrypted string obtained from Dx-EncryptText cmdlet. Default is false.FalseFalse
UseTLSSwitch ParameterEnables TLS communication to authenticate by certificate.FalseFalse
ServerStringThe target node name to connect to. Default is localhost.FalseFalse
PasskeyStringThe passkey to be used to connect to the target server. Default is empty.FalseFalse
TCPPortIntegerThe connecting TCP port of the target server. Default is 7979.FalseFalse
ForceSwitch ParameterRequired if the passkey parameter is used.FalseFalse

Examples

Dx-SetServer -Server "node1" -Passkey "Pa$$Key"

Dx-SetServiceDescription

Sets description of a service.

Syntax

Dx-SetServiceDescription [-ServiceName] <string> [[-Description] <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets a description for an existing service on a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
ServiceNameStringThe name of the service.TrueTrue
DescriptionStringThe description of the service.TrueTrue

Example

Dx-SetServiceDescription -ServiceName "service1" -Description "This describes Service1"

Dx-SetSQLCred

Sets credentials for SQL instance.

Syntax

Dx-SetSQLCred [-InstanceName] <string> [-SQLLogin <string>] [-SQLPass <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets the sysadmin credentials DxEnterprise will use for instance management.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe connection string for the SQL instance (vhost\instance).TrueTrue
SQLLoginStringThe user name used to login to SQL Server. The SQL Server login can be any SQL login or Windows domain accounts that has been assigned the sysadmin role for the instance being managed. When supplying a domain account, the username needs to follow the UPN format (for example: user@domain.com).TrueTrue
SQLPassStringThe password used to login to SQL Server (encrypted using Dx-EncryptText).TrueTrue

Example

Dx-SetSQLCred -InstanceName "vhost1\instance1" -SQLLogin "sa" -SQLPass "qC0Tfb6Px/bfFDA5PTSDlA=="

Dx-SetStorCoordinator

Set a cluster member node to be the new storage coordinator.

Syntax

Dx-SetStorCoordinator [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet assigns the storage coordinator role to a cluster member node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe target node name to be the new storage coordinator.TrueTrue

Examples

Dx-SetStorCoordinator -NodeName "node1"

Dx-SetVhostIlbports

Sets ports on a Vhost.

Syntax

Dx-SetVhostIlbports [-VhostName] <string> [[-ILBPorts] <string>] [<CommonParameters>]

Detailed Description

This cmdlet sets or removes the Vhost internal load balancer probe port.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ILBPortsStringThe port(s) to use for internal load balancer probing (comma separated list for multiples). Use empty double quotes ("") to remove the port assignment.TrueTrue

Examples

Dx-SetVhostIlbports -VhostName "vhost1" -ILBPorts "30001"

Dx-SetVhostPriority

Set priority for a Vhost.

Syntax

Dx-SetVhostPriority [-VhostName] <string> [-Priority] <int> [<CommonParameters>]

Detailed Description

This cmdlet sets a priority value for a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
PriorityIntegerVhost priority relative to other Vhosts in the cluster. Valid values are between 1 and 5. With 1 being the lowest or least prioritized.TrueTrue

Examples

Set-VhostPriority -VhostName "vhost1" -Priority 3

Dx-SetVolumeLabel

Set a new label for the specified volume.

Syntax

Dx-SetVolumeLabel [-VolID] <string> [-VolumeLabel] <string> [<CommonParameters>]

Detailed Description

This cmdlet renames the specified volume with the new label.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
VolumeLabelStringThe new label of the volume.TrueTrue

Examples

Dx-SetVolumeLabel -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -VolumeLabel "Cluster Volume 1"

Dx-SetWitness

Sets witness settings for the cluster.

Syntax

Dx-SetWitness [-Witnesses <string[]>] [<CommonParameters>]

Detailed Description

This cmdlet sets witness settings for the cluster. This cmdlet supercedes Dx-AddWitness in that it supports both UNC network share and Azure Blob Storage cloud witness.

Parameters

NameTypeDescriptionRequiredCommand-line Input
WitnessesStringThe witness settings in the format of <witness_path>|<username>|<password> for UNC shares. Prefix with az: for Azure Blob Storage connection string or SAS URL. No parameter specified is equivalent to RemoveWitness.FalseTrue

Examples

Local File Share
Dx-SetWitness "\server1\myshare1|user1|6pnFaDrRS+W/F+dkRuPKAA=="
Cloud File Share
Dx-SetWitness "\\mystorage.file.core.windows.net\azshare1|mystorage|/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33=="
Azure Blob Storage via Access Key
Dx-SetWitness "az:DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33==;EndpointSuffix=core.windows.net"
Azure Blob Storage via SAS URL
Dx-SetWitness "az:https://mystorage.blob.core.windows.net/?sv=2020-02-10&ss=b&srt=sco&sp=rwdlactfx&se=2021-06-09T13:15:48Z&st=2021-06-09T05:15:48Z&spr=https&sig=cRDqOc25lpHfbP8X1hlkDnV4H1wJycCyuuqlgu8U1xg%3D"
Mixed File Shares
Dx-SetWitness "\server1\myshare1|user1|6pnFaDrRS+W/F+dkRuPKAA=="
"\mystorage.file.core.windows.net\azshare1|mystorage|/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33=="
"az:DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33==;EndpointSuffix=core.windows.net"

Dx-ShrinkVolume

Shrink the volume size.

Syntax

Dx-ShrinkVolume [-VolID] <string> [-ToShrinkBy] <string> [<CommonParameters>]

Detailed Description

This cmdlet shrinks the volume by the 'ToShrinkBy' size.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
ToShrinkByStringThe size in bytes in which to shrink the volume by.TrueTrue

Examples

Dx-ShrinkVolume -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -ToShrinkBy "1048576"

Dx-StartDisk

Bring a disk online on a node.

Syntax

Dx-StartDisk [-DiskID] <string> [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet brings a disk online on a node. If the disk is online previously, the cluster will set if offline on that node prior to bringing it online on the specified node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label.TrueTrue
NodeNameStringThe name of the node to start the specified disk.TrueTrue

Examples

Dx-StartDisk -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -NodeName "node1"

Dx-StartDiskAssociates

Starts a disk and all associated disks.

Syntax

Dx-StartDiskAssociates [-DiskID] <string> [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a disk on the specified node. If the disk is part of a volume set, the system will start all associated disks as well.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label.TrueTrue
NodeNameStringThe name of the node to start the specified disk.TrueTrue

Examples

Dx-StartDiskAssociates -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -NodeName "node1"

Dx-StartDiskGroup

Administratively bring disk group(s) online on a specified node of a Vhost.

Syntax

Dx-StartDiskGroup [-VhostName] <string> [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively brings diskgroup(s) online on a specified node of a Vhost. Applications running on the previous node may be affected when the diskgroup(s) become offline/unavailable on the previous node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodeNameStringThe name of the node to start the specified disk.TrueTrue

Examples

Dx- StartDiskGroup -VhostName "vhost1" -NodeName "node1"

Dx-StartDocker

Start a Docker container on a Vhost.

Syntax

Dx-StartDocker [-VhostName] <string> [-DockerName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a Vhost and all associated Docker containers on a specific node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the container.TrueTrue

Examples

Dx-StartService -VhostName "vhost1" -DockerName "mssql1"

Dx-StartInstance

Start an instance of SQL Server.

Syntax

Dx-StartInstance [-InstanceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a named instance of SQL Server. The instance will be started on whichever node is currently hosting the instance's Vhost. If the instance is administratively disabled, it will be enabled.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe target instance name. Valid value is <Vhost>\<InstanceName>.TrueTrue

Examples

Dx-StartInstance -InstanceName "vhost1\customer"

Dx-StartService

Start a service on a Vhost.

Syntax

Dx-StartService [-VhostName] <string> [-ServiceName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a Vhost and all associated services on a specific node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue

Examples

Dx-StartService -VhostName "vhost1" -ServiceName "alg"

Dx-StartVolume

Start volume on a node.

Syntax

Dx-StartVolume [-VolID] <string> [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a volume on a specific node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID.TrueTrue
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-StartVolume -VolID "3caa25ce-3866-283c-1243-b48e92a6cd1d" -NodeName "node1"

Dx-StopDisk

Take a disk offline.

Syntax

Dx-StopDisk [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet takes a disk offline.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label of the disks to take offline.TrueTrue

Examples

Dx-StopDisk -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-StopDiskAssociates

Take a disk and all associated disks offline.

Syntax

Dx-StopDiskAssociates [-DiskID] <string> [<CommonParameters>]

Detailed Description

This cmdlet takes a disk offline. If the disk is part of a volume set, the system will take all associated disks, as part of the volume, offline also.

Parameters

NameTypeDescriptionRequiredCommand-line Input
DiskIDStringThe GUID Disk ID or disk label of the disk to take offline.TrueTrue

Examples

Dx-StopDiskAssociates -DiskID "3caa25ce-3866-283c-1243-b48e92a6cd1d"

Dx-StopDiskGroup

Administratively take a Vhosts' diskgroup offline.

Syntax

Dx-StopDiskGroup [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively takes a Vhost's diskgroup offline. Applications that depend on the diskgroup may be affected when the diskgroup goes offline.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-StopDiskGroup -VhostName "vhost1"

Dx-StopDocker

Stop an instance of a Docker container.

Syntax

Dx-StopDocker [-VhostName] <string> [-DockerName] <string> [[-IsDisabled] <bool>] [<CommonParameters>]

Detailed Description

This cmdlet stops an instance of a Docker container and marks the instance as administratively disabled.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the Docker container.TrueTrue
IsDisabledBoolWhether or not to administratively disable the Docker instance after stopping. This will prevent the instance from starting back up.TrueTrue

Examples

Dx-StopDocker -VhostName "vhost1" -DockerName "mssql1" -IsDisabled

Dx-StopInstance

Stop an instance of SQL Server.

Syntax

Dx-StopInstance [-InstanceName] <string> [-IsDisabled] <bool> [<CommonParameters>]

Detailed Description

This cmdlet stops a named instance of SQL Server and marks the instance as administratively disabled.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe target instance name. Valid value is <Vhost>\<InstanceName>.TrueTrue
IsDisabledBoolWhether or not to administratively disable the Docker instance after stopping. This will prevent the instance from starting back up.TrueTrue

Examples

Dx-StopInstance -InstanceName "vhost1\customer" -IsDisabled

Dx-StopService

Stop a service on a Vhost.

Syntax

Dx-StopService [-VhostName] <string> [-ServiceName] <string> [[-IsDisabled] <bool>] [<CommonParameters>]

Detailed Description

This cmdlet stops a service on a Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ServiceNameStringThe name of the service.TrueTrue
IsDisabledBoolWhether or not to administratively disable the Docker instance after stopping. This will prevent the instance from starting back up.TrueTrue

Examples

Dx-StopService -VhostName "vhost1" -ServiceName "alg" -IsDisabled

Dx-StopVolume

Stop a running volume.

Syntax

Dx-StopVolume [-VolID] <string> [<CommonParameters>]

Detailed Description

This cmdlet stops a specified volume.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VolIDStringThe GUID Volume ID of the volume to stop.TrueTrue

Examples

Dx-StopVolume -VolID "dad325ce-3866-283c-1243-b48e92a6cd1d"

Dx-TestNAT

Tests NAT type.

Syntax

Dx-TestNAT [<CommonParameters>]

Detailed Description

This cmdlet determines the NAT type for the connected server.

Parameters

NameTypeDescriptionRequiredCommand-line Input
-vSwitchEnables verbose output.FalseTrue

Examples

Dx-TestNAT -v

Dx-TestWitness

Test witness network share(s).

LEGACY

This command has been superseded by Dx-TestWitnessEx. Do not use this command for Azure Blob Storage.

Syntax

Dx-TestWitness [-Shares] <string> [-UserName] <string> [-Password] <string> [<CommonParameters>]

Detailed Description

This cmdlet tests the availability and authentication to the witness network share(s).

Parameters

NameTypeDescriptionRequiredCommand-line Input
SharesStringThe share path(s).TrueTrue
UserNameStringThe user name to access the witness share paths(s).TrueTrue
PasswordStringThe Password to access the witness share path(s).TrueTrue

Examples

Dx-TestWitness -Shares "\\SERVER1\Witness1" -UserName "ShareAdmin" -Password "qC0Tfb6Px/bfFDA5PTSDlA=="

Dx-TestWitnessEx

Test network share(s) or Azure Blob Storage witness. This cmdlet supercedes Dx-TestWitness.

Syntax

Dx-TestWitnessEx [-Witnesses] <string[]> [<CommonParameters>]

Detailed Description

This cmdlet tests the availability and authentication to the witness network share(s) and Azure Blob Storage.

Parameters

NameTypeDescriptionRequiredCommand-line Input
WitnessesStringThe witness settings in the format of <witness_path>|<username>|<password> for UNC file shares. Prefix with az: for Azure Blob Storage connection string or SAS URL.TrueTrue

Examples

Local File Share
Dx-TestWitnessEx "\server1\myshare1|user1|6pnFaDrRS+W/F+dkRuPKAA=="
Cloud File Share
Dx-TestWitnessEx
"\mystorage.file.core.windows.net\azshare1|mystorage|/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33=="
Azure Blog Storage via Access Key
Dx-TestWitnessEx
"az:DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33==;EndpointSuffix=core.windows.net"
Azure Blog Storage via SAS URL
Dx-TestWitnessEx
"az:https://mystorage.blob.core.windows.net/?sv=2020-02-10&ss=b&srt=o&sp=rwdlactfx&se=2021-06-09T13:15:48Z&st=2021-06-09T05:15:48Z&spr=https&sig=cRDqOc25lpHfbP8X1hlkDnV4H1wJycCyuuqlgu8U1xg%3D"
Mixed File Shares
Dx-TestWitnessEx
"\server1\myshare1|user1|6pnFaDrRS+W/F+dkRuPKAA=="
"\mystorage.file.core.windows.net\azshare1|mystorage|/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33=="
"az:DefaultEndpointsProtocol=https;AccountName=mystorage;AccountKey=/nbFVz1fOKH7b0RaY/5Ms8uytbY99PZsspZkcHvNtVRj//pUk4jUPV7owaUSuDd6eExv96sBvkCXsleATEsT33==;EndpointSuffix=core.windows.net"

Dx-UnfreezeNode

Unfreeze a cluster node.

Syntax

Dx-UnfreezeNode [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively takes a node out of "frozen" state and back into "active" state for all Vhosts and continue to host running applications.

This cmdlet is designed to support in-place upgrade of DxEnterprise software.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NodeNameStringThe name of the node.TrueTrue

Examples

Dx-UnfreezeNode -NodeName "node1"

Dx-UnfreezeVhost

Unfreeze a Vhost.

Syntax

Dx-UnfreezeVhost [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet administratively takes a Vhost out of the "frozen" state and back into "active" state. Applications running on an active Vhost can now be moved around between the nodes within the Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-UnfreezeVhost -VhostName "vhost1"

Dx-UpdateAddressFilter

Updates address filter.

Syntax

Dx-UpdateAddressFilter [-Name] <string> [-Addresses] <string> [-DefaultAction] <string> [<CommonParameters>]

Detailed Description

Updates an address filter to accept or deny connections from specific IP addresses or subnets.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the filter.TrueTrue
AddressesStringThe IP address or subnet.TrueTrue
DefaultActionStringWhether or not to accept or deny the IP address or subnet. Must be accept or deny.TrueTrue

Examples

Dx-UpdateAddressFilter -Name "filter1" -Addresses "10.1.9.0,accept|10.1.2.0,accept" -DefaultAction "deny"

Dx-UpdateClient

Updates existing client.

Syntax

Dx-Update [-Name] <string> [-Password] <string> [[-Description] <string>] [[-MaxSession] <string>] [<CommonParameters>]

Detailed Description

This cmdlet updates an existing client.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the client.True
PasswordStringThe password for the client. Can be encrypted using dxcli encrypt-text.True
DescriptionStringThe description for the client.False
MaxSessionIntegerThe maximum number of active sessions for the client.False

Examples

Dx-UpdateClient -Name "Testuser" -Password "Pa$$w0rd" -Description "Old User in accounting" -MaxSession 10

Dx-UpdateClientGroup

Updates an existing client group.

Syntax

Dx-UpdateClientGroup [-Name] <string> [[-MemberList] <string>] [[-Description] <string>] [<CommonParameters>]

Detailed Description

This cmdlet updates an existing client group.

Parameters

NameTypeDescriptionRequired
NameStringThe name of the client.String
MemberListStringThe name of the members to add to the client group. Running the command without a client will create an empty client group.True
DescriptionStringThe description for the group.False

Examples

Dx-UpdateClientGroup -Name "OldGroup" -MemberList "Testuser" -Description "Old group for accounting"

Dx-UpdateContact

Update the email address for a contact.

Syntax

Dx-UpdateContact [-Name] <string> [-Email] <string> [<CommonParameters>]

Detailed Description

This cmdlet updates the email address for a contact.

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe contact name.TrueTrue
EmailStringThe new email address.TrueTrue

Examples

Dx-UpdateContact -Name "support" -Email "support@dh2i.com"

Dx-UpdateFileshare

Update a fileshare.

Syntax

Dx-UpdateFileshare [-VhostName] <string> [-ShareName] <string> -Grants <string[]> [-Comments <string>] [-MaxAllowedUsers <int>] [-Caching <string> {manual | BranchCache | documents | programs | none}] [<CommonParameters>]

Detailed Description

This cmdlet updates a fileshare. This cmdlet can be used to modify permissions, add comments, change the max users or change the caching type.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
ShareNameStringThe name of the network share.TrueTrue
GrantsStringGrant parameter string array delimited by a comma (,). Each parameter name and value pair is delimited by a colon (:).TrueTrue
CommentsStringUser defined comment.FalseFalse
MaxAllowedUsersIntegerMax concurrent users allowed to the share. Default is unlimited.FalseFalse
CachingStringCaching mode for the share. Possible mode: manual, BranchCache, documents, programs, none.FalseFalse

Examples

Dx-UpdateFileshare -VhostName "vhost1" -ShareName "share1" -Grants "everyone:full"

Dx-UpdatePolicy

Update a policy.

Syntax

Dx-UpdatePolicy -SYSTEM -PolicyID <string> [-Enabled] [-Description <string>] [-ObjectName <string>] [-Operator <string>] [<CommonParameters>]

Dx-UpdatePolicy -PERF -PolicyID <string> [-Percent] [-Loadbalance] [-Enabled] [-Description <string>] [-ObjectName <string>] [-CounterName <string>] [-Threshold <int>] [-Operator <string>] [-ScriptPath <string>] [-Priority <int>] [<CommonParameters>]

Dx-UpdatePolicy -ALLOC -PolicyID <string> [-Enabled] [-Description <string>] [-ObjectName <string>] [-CounterName <string>] [-Threshold <int>] [-Operator <string>] [-ScriptPath <string>] [<CommonParameters>]

Dx-UpdatePolicy -FILTER -PolicyID <string> [-Enabled] [-Information] [-Warning] [-Error] [-Critical] [-VhostFilter <string>] [-InstanceFilter <string>] [-NodeFilter <string>] [-Description <string>] [-Operator <string>] [<CommonParameters>]

Detailed Description

This cmdlet updates a SYSTEM/PERF/ALLOC/FILTER policy.

Parameters

NameTypeDescriptionRequiredCommand-line Input
SYSTEMSwitch ParameterSystem type policy. Used to alert when a system is down.TrueFalse
PERFSwitch ParameterPerformance type policy.TrueFalse
ALLOCSwitch ParameterAllocation type policy.TrueFalse
FILTERSwitch ParameterGlobal filter alert type policy.TrueFalse
PolicyIDStringUnique policy ID.FalseFalse
DescriptionStringUser defined description.FalseFalse
ObjectNameStringInstance or System name.FalseFalse
CounterNameStringResource/counter name.FalseFalse
ThresholdIntegerTrigger limit applicable for PERF and ALLOC policies. When this threshold is met or exceeded the system will raise an alert and carry any predefined corrective actions.FalseFalse
PercentSwitch ParameterWhether or not the threshold value is a percentage of the total system resource.FalseFalse
OperatorStringEmail addresses to be sent when the policy is triggered. Delimited by comma.FalseFalse
ScriptPathStringFull path to the script file to be executed when the policy is triggered.FalseFalse
PriorityIntegerPolicy priority relative to other policies in the cluster. Valid values are between 1 and 5. With 1 being the lowest or least prioritized. Applicable to PERF policy.FalseFalse
LoadBalanceSwitch ParameterWhether or not to failover when the policy is triggered. Default is false.FalseFalse
EnabledSwitch ParameterWhether or not the policy is enabled. Default is true.FalseFalse
InformationSwitch ParameterWhether or not filter only for Information severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
WarningSwitch ParameterWhether or not filter only for Warning severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
ErrorSwitch ParameterWhether or not filter only for Error severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
CriticalSwitch ParameterWhether or not filter only for Critical severity alerts. Applicable to FILTER policy. Default is true.FalseFalse
VhostFilterStringInclusive list of Vhosts to raise alert for. Applicable to FILTER policy. Default is all Vhost.FalseFalse
InstanceFilterStringInclusive list of instances to raise alert for. Applicable to FILTER policy. Default is all instances.FalseFalse
NodeFilterStringInclusive list of nodes to raise alert for. Applicable to FILTER policy. Default is all nodes.FalseFalse

Examples

Dx-UpdatePolicy -SYSTEM -PolicyID "NODE1" -Enabled:$false
Dx-UpdatePolicy -PERF -PolicyID "51A9353D-4D59-43B4-B722-04D4517CF277"
-Enabled:$false
Dx-UpdatePolicy -ALLOC -PolicyID "8F257E80-E253-4FD7-B3CC-1715DA58A94B"
-Enabled:$false
Dx-UpdatePolicy -FILTER -PolicyID "D92BA14F-F3D2-432A-BFA8-3BDF454B7140"
-Enabled:$false

Dx-UpdateTunnel

Update an existing tunnel.

Syntax

Dx-UpdateTunnel [-Name] <string> [-Enabled] <bool> [-DestinationNodeName] <string> [-DestinationAddresses] <string> [-Origin] <string> [[-vHost] <string>] [<CommonParameters>]

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the tunnel.TrueTrue
EnabledBoolEnable the tunnel.TrueTrue
DestinationNodeNameStringThe name of the destination node.TrueTrue
DestinationAddressStringThe target IP address or hostname of the tunnel destination.TrueTrue
OriginStringThe name of the origin node. This is the node where the tunnel listener will be active.TrueTrue
VhostStringThe name of the Vhost to associate with the tunnel.TrueTrue

Examples

Dx-UpdateTunnel -Name "test" -Enabled $true -DestinationNodeName "node1" -DestinationAddresses "10.1.2.10:4455" -Origin "node1,0.0.0.0:30004 " -Vhost "vhost1”

Dx-UpdateTunnelClients

Add or remove clients and groups from an existing tunnel.

Syntax

Dx-UpdateTunnelClients [-Name] <string> [[-Clients] <string>] [[-Groups] <string>] [<CommonParameters>]

Parameters

NameTypeDescriptionRequiredCommand-line Input
NameStringThe name of the tunnelTrueTrue
ClientsStringTriplet of <[+/-]client_name:ip_address:port>. Comma (,) seperated list for multiples. The IP address and port is what the client will use to connect to the tunnel.FalseFalse
GroupsStringTriplet of <[+/-]group_name:ip_address:port>. Comma (,) seperated list for multiples. The IP address and port is what the group will use to connect to the tunnel.FalseFalse

Examples

Adding a single client
Dx-UpdateTunnelClients -Name "tunnel1" -Clients "+client1:127.0.0.1:12345"
Adding multiple clients
Dx-UpdateTunnelClients -Name "tunnel1" -Clients "+client1:127.0.0.1:12345,+client2:127.0.0.1:45678"
Adding a client and removing a client
Dx-UpdateTunnelClients -Name "tunnel1" -Clients "+client1:127.0.0.1:12345,-client2"
Removing a client
Dx-UpdateTunnelClients -Name "tunnel1" -Clients "-client1"
Adding a group
Dx-UpdateTunnelClients -Name "tunnel1" -Groups "+group1:127.0.0.1:4321"

Dx-UpdateVhost

Update a Vhost.

Syntax

Dx-UpdateVhost [-VhostName] <string> [-Nodes <string>] [-AutoFailback <bool>] [-Priority <int>] [-Force] [-VIPs <string>] [<CommonParameters>]

Detailed Description

This cmdlet updates a Vhost. This cmdlet can be used to re-order the node list, set autofailback property, set priority for a Vhost and/or change the IP address assignments.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodesStringList of nodes participating in the Vhost. Delimited by comma.TrueTrue
AutoFailbackBoolWhether or not to support auto failback for the Vhost. No change if not specified.FalseTrue
PriorityIntegerVhost priority relative to other Vhosts in the cluster. Valid values are between 1 and 5. With 1 being the lowest or least prioritized. No change if not specified.FalseTrue
ForceSwitch ParameterMust be specified if the VIPS list is being modified.FalseFalse
VIPsStringVirtual IP addresse(s) to be assigned to the Vhost. Comma (,) delmited.FalseFalse

Examples

Dx-UpdateVhost -VhostName "vhost1" -Nodes "node2,node3,node1"

Dx-UpgradeSQL

Upgrade SQL Server instance.

Syntax

Dx-UpgradeSQL [-InstanceName] <string> [-Nodes] <string> [-ExecutingCommand] <string[]> [-CIFSUserName] <string> [-CIFSPassword] <string> [-EncryptedPassword] [<CommonParameters>]

Detailed Description

This cmdlet pushes an unattended upgrade/patch installation of SQL Server instance to specified nodes. Full command line must be provided for the service pack executable and the path to the executable must be accessible on all nodes involved. Check Microsoft website for appropriate supported unattended patch commands and syntax.

Parameters

NameTypeDescriptionRequiredCommand-line Input
InstanceNameStringThe name of the instance.TrueTrue
NodesStringA list of nodes to execute the unattended SQL Server installation. Delimited by comma.TrueTrue
ExecutingCommandStringSubsequent <string> parameters after the Nodes list to form proper unattended SQL Server patching command.TrueTrue
CIFSUserNameStringSQL Server Login username.FalseTrue
CIFSPasswordStringSQL Server password.FalseTrue
EncryptedPasswordSwitch ParameterWhether or not the supplied password value is encrypted string obtained from Dx-EncryptText cmdlet. Default is false.FalseFalse

Examples

Dx-UpgradeSQL -InstanceName "customer" -Nodes "node1,node2" <ExecutingCommand>

Dx-VhostGetDockerImages

Get a list of Docker images and the running status from the specified Vhost.

Syntax

Dx-VhostGetDockerImages [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns a list of Docker images on the specified Vhost and the running status of the images.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-VhostGetDockerImages -VhostName "vhost1"

Dx-VhostGetInstances

Get a list of SQL Server instances and the running status from the specified Vhost.

Syntax

Dx-VhostGetInstances [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns a list of SQL Server instances on the specified Vhost and the running status of the instance.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-VhostGetInstances -VhostName "vhost1"

Dx-VhostGetServices

Get a list of services and the running status from the specified Vhost.

Syntax

Dx-VhostGetServices [-VhostName] <string> [<CommonParameters>]

Detailed Description

This cmdlet returns a list of services on the specified Vhost and the running status of the service.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue

Examples

Dx-VhostGetService -VhostName "vhost1"

Dx-VhostSetDiskGroup

Associate a list of disks to a Vhost.

Syntax

Dx-VhostSetDiskGroup [-VhostName] <string> [-DiskIDs] <string> [<CommonParameters>]

Detailed Description

A delimited list of disk IDs to be added to the specified Vhost. The disk(s) will be brought online on the active node of the Vhost. The list of disk IDs must include all disk(s) that are to be assigned to the diskgroup.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DiskIDsStringA delimited list of GUID Disk IDs or disk labels to be added. Pipe (|) or comma (,) delimited.TrueTrue

Examples

Dx-VhostSetDiskGroup -VhostName "vhost1" -DiskIDs "dad325ce-3866-283c-1243-b48e92a6cd1d,368525ce-3866-283c-1243-b48e92a6c222"

Dx-VhostSetDockerImage

Set the Docker image assigned to the specified Vhost.

Syntax

Dx-VhostSetDockerImage [-VhostName] <string> [-DockerName] <string> [-Image] <string> [<CommonParameters>]

Detailed Description

This cmdlet sets the Docker image that is assigned to the specified Vhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
DockerNameStringThe name of the Docker container.TrueTrue
ImageStringThe image name, image ID or both. Valid format is <ImageName>@<ImageID>.TrueTrue

Examples

Dx-SetDockerImage -VhostName "vhost1" -DockerName "mssql1" -Image "microsoft/mssql-server-linux@ab1edc3f85cd"

Dx-VhostStartNode

Start hosting on a node.

Syntax

Dx-VhostStartNode [-VhostName] <string> [-NodeName] <string> [<CommonParameters>]

Detailed Description

This cmdlet starts a Vhost and all associated instances on a specific node. Stops the Vhost, and all associated instances, if it is currently running on a different node.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodeNameStringThe name of the node.TrueTrue
danger

Forcing failover to an asynchronous availability group replica can result in data loss.

Examples

Dx-VhostStartNode -VhostName "vhost1" -NodeName "node1"

Dx-VhostStopNode

Stop hosting on a node.

Syntax

Dx-VhostStopNode [-VhostName] <string> [-NodeName <string>] [<CommonParameters>]

Detailed Description

This cmdlet stops a Vhost and all associated instances, if the Vhost is active, it marks the Vhost as administratively disabled. Administratively disabled Vhosts are not automatically restarted as part of failover actions.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
NodeNameStringThe name of the node.FalseFalse

Examples

Dx-VhostStopNode -VhostName "vhost1" -NodeName "node1"

Dx-VhostUpdateVips

Update a Vhost virtual IP.

Syntax

Dx-VhostUpdateVips [-VhostName] <string> [-VIPS] <string> [<CommonParameters>]

Detailed Description

This cmdlet changes the virtual IP(s) used by the Vhost or exVhost.

Parameters

NameTypeDescriptionRequiredCommand-line Input
VhostNameStringThe name of the Vhost.TrueTrue
VIPsStringVirtual IP addresse(s) to be assigned to the Vhost. Comma (,) delmited.FalseFalse

Examples

Dx-VhostUpdateVips -VhostName "vhost1" -VIPs "10.2.2.29,10.2.3.141"