dbatools is a free PowerShell module with over 300 SQL Server administration, best practice and migration commands included.

Please note that documentation and command names may be out of date while we work furiously towards 1.0


Generates a connection object for use in remote computer management. Those objects are used for the purpose of cim/wmi queries, caching which protocol worked, optimizing performance and minimizing authentication errors.

New-DbaCmConnection will create a NEW object and overwrite any existing ones for the specified computer. Furthermore, information stored in the input beyond the computername will be discarded in favor of the new settings.

Unless the connection cache has been disabled, all connections will automatically be registered in the cache, so no further action is necessary. The output is primarily for information purposes, however it may be used to pass objects and circumvent the cache with those.

NOTE: Generally, this function need not be used, as a first connection to a computer using any connecting function such as “Get-DbaCmObject” will automatically register a new default connection for it.

This function exists to be able to preconfigure connections.




Returns a new configuration object for connecting to the computer sql2014.
– The current user credentials are set as valid
– The connection is configured to ignore explicit credentials (so all connections use the windows credentials)
– The connections will not try using CIM over WinRM

Unless caching is globally disabled, this is automatically stored in the connection cache and will be applied automatically.
In that (the default) case, the output is for information purposes only and need not be used.

New-DbaCmConnection -ComputerName sql2014 -UseWindowsCredentials -OverrideExplicitCredential -DisabledConnectionTypes CimRM

Gathers a list of computers from a text file, then creates and registers connections for each of them, setting them to …
– use the credentials stored in $cred
– use the opzions stored in $options when connecting using CIM over WinRM
– not store credentials that are known to not work
– to ignore explicitly specified credentials

Essentially, this configures all connections to those computers to prefer failure with the specified credentials over using alternative credentials.

Get-Content computers.txt | New-DbaCmConnection -Credential $cred -CimWinRMOptions $options -DisableBadCredentialCache -OverrideExplicitCredential


This command was created by Chrissy LeMaire. You can find Chrissy on Twitter and his blog.


From PowerShell, execute Get-Help New-DbaCmConnection -Detailed for more information on this function.

Source Code

Want to see the source code? View New-DbaCmConnection.ps1 on GitHub

Related commands