PowerShell wrapper for CDS CrmServiceClient

Installation Options

Copy and Paste the following command to install this package using PowerShellGet More Info

Install-Module -Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell -RequiredVersion

You can deploy this package directly to Azure Automation. Note that deploying packages with dependencies will deloy all the dependencies to Azure Automation. Learn More

Manually download the .nupkg file to your system's default download location. Note that the file won't be unpacked, and won't include any dependencies. Learn More


Microsoft Common Data Service Team


© 2020 Microsoft Corporation. All rights reserved



Get-CrmConnection Get-CrmOrganizations


This module has no dependencies.

Release Notes

Current Release:
Fixed an issue with sovereign cloud discovery reference data that would prevent a login control from picking the correct global discovery server when connecting.
Fixed Authority property data loss post clone process
Fixed an error with connection string based IFD Auth flows that slipped though testing.
Fixed an error where discovery would be used when using AD and IFD to connect to onpremise even if connection strings where used.
Fixed an error where timeout property was not properly assigned when using Non-oAuth types
Fixed an error with setting CallerId when ClientSecret Auth type is used.  
Thanks for all the bug reports on this and repros that really helped us run it down.
Uptaking new CoreSDK release
Uptaking current CDS SDK.
Internal fixes to unify the way in which online and onprem instances were determined from the URI provided.
Added new Static Property on Utilities called IsValidOnlineHost, this takes a URL and determines if it a valid OnLine URI for the CDS Service
Corrected an issue where the AdminAPI URL provided by Get-CrmOrganizations was incorrect.
Fixed a bug Null Object Error that would occur occasionaly during connect when many concurrent connects were run.
This would typically happen if a developer used a Task.Wait behavior to create a stack of connections at once.
Fixed a bug that would prevent logs from being generated even when verbose tracing was enabled.
Added Support for new properties in discovery response.
Tenant Id - ID of the tenant that the instance resides in
Enviroment Id - ID of the PowerPlatform Envrioment that the instance resides in
UrlName - Host name for the target instance.
Fixed a bug where the second ( or third ) connection string attempt in the same process would cause the client to try to reuse the current connection.
Fixed a bug where the SDK Version Property was not properly returning from the CrmServiceClient
Fixed a bug with how errors are handled when they are raised from ADAL 3.19+.  MFA Force Login will now work properly again.
   Updated default response sizes to support more verbose error messages from CDS
ADAL 3.19+ is now required for this library.  ADAL 2.x clients will need to be updated to use ADAL 3.x+
Added Support for Current User ID login when using Online flows with oAuth (Login control/connection string support )
Added Support for ClientID Secret Auth when using oAuth flows. (connection string support )
Added support for France and New US Geos
Added new behavior to return the full login error when initial connect fails in LastException.
Fixed https activation issue introduced by .net 4.8. - This should no longer require http activation to be enabled on windows.
Fixed issue where a long running cloned connection loses its access token. - (Nuget-
Added native support for handing throttling messages from server.
Fixed issue where a cloned connections token could time out in a way that was not detected.
When failing, this would result in a mid operation Authentication failure reporting something like "Anonymous Access Failed"
Added Support for China Geo
Minor changes to logging of Import Solution Activities


NOTE: Notes Below are synced to Nuget Release Found here:
Fixed bug in CrmServiceClient which would cause some OnPrem connections to fail with an error "Item already added to List"
Minor Perf Improvements
Updated to include Fixed version of CrmServiceClient and login control for new US Geo ( US Gov High )
Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
Picked up updated CrmServiceClient (Microsoft.Xrm.Tooling.Connector)
Fixed a bug with using ExecuteCrmWebRequest where SkipDiscovery was also used that would cause the command to fail with a malformed URI error.
Fix to support SSO login, issue manifested as unable to execute a SSO login on second attempt.
Fix to make local metadata cache instance aware,
Issue manifested in a single client process where more then one connection was made to different CDS instances and the metadata helpers were used.  The Metadata would not be instance specific.

Streamlined .Clone support by removing unneeded WhoAmI validation call.
Added new .Clone override to allow a developer to pass an assembly reference to the .Clone method to use when establishing strong types for that connection.
Added additional error log details when a fault is detected
Added support for retrying SDK request if the server throws a retriable errors.
ImportSolutionToCrmAsync –
Returns an AsyncOperation ID that must be polled for solution Import completion or failure.
Note, Async jobs are subject to Async queuing and overhead, thus use this with caution.
DeleteAndPromoteSolutionAsync –
Returns an AsyncOperation ID that must be polled for completion
Note: DeleteAndPromote Async support is not generally available to all regions and versions of the platform.  If this is not available the async job with fail immediately.
Note: Async jobs are subject to Async queuing and overhead, thus use this with caution.
Added new dependencies: version
Added Support for Caller ID using AAD Object ID of caller -
Added new property on CrmServiceClient: CallerAADObjectId
Supported for 8.1 and later.
Added New Method ExecuteCrmWebRequest
This method supports using the XRM WebAPI directly from the CRMServiceClient.
Supports only oAuth and Certificate Auth connection types
Supported for 8.0 and later.
Supports Common request types and supports batch execute.
Added Global Discovery Support for Instance lookup
Global discovery is now used for all lookup, both regional and global (Online Region = Dont Know) when OAuth is used, except where special region rules are required.
Note: Germany and North America 2 are not scanned when Online Region = Dont Know is selected.
Added SkipDiscovery to all connection string variants.
Added Certificate support for constructor variants.
Fixed issue with allowing discovery selection using onPrem and OAuth.
Fixed an issue with older On-Prem ADFS instances that do not require a resource URI.

**Special notes:
Added additional telemetry support to connection requests
This will add the process name of the calling process (if available) to help with troubleshooting and support requests.
Added request IDs to all requests to help with troubleshooting and support requests.
These will appear only when verbose logging is enabled.
       9.0 Initial Release
Initial release.
To register module, run the RegisterXrmTooling.ps1

Version History

Version Downloads Last updated 14,928 7/15/2020 (current version) 9,020 7/1/2020 8,544 6/12/2020 5,503 6/2/2020 22,549 4/20/2020 42 4/20/2020 21,907 3/25/2020 143,490 2/11/2020 624 2/7/2020 10,246 12/18/2019 2,385 12/5/2019 8,209 10/26/2019 88,679 9/12/2019 1,683 7/17/2019 55,555 2/27/2019