├── .github └── workflows │ ├── PublishNugetPackage.yml │ └── ScriptAnalyser.yml ├── .gitignore ├── LICENSE ├── PowerDataOps.psd1 ├── PowerDataOps.psm1 ├── README.md ├── documentation ├── commands │ ├── Add-XrmFolder.md │ ├── Add-XrmInstance.md │ ├── Add-XrmLanguagePack.md │ ├── Add-XrmQueryCondition.md │ ├── Add-XrmQueryLink.md │ ├── Add-XrmQueryLinkCondition.md │ ├── Add-XrmQueryOrder.md │ ├── Add-XrmRecord.md │ ├── Add-XrmRequestParameter.md │ ├── Add-XrmSolutionComponent.md │ ├── Add-XrmUserRoles.md │ ├── Assert-XrmAdminConnected.md │ ├── Assert-XrmTdsEndpointConnected.md │ ├── Assert-XrmTdsEndpointEnabled.md │ ├── Backup-XrmInstance.md │ ├── Backup-XrmSolutionsBuild.md │ ├── Clear-XrmActiveCustomizations.md │ ├── Clear-XrmSolutions.md │ ├── Connect-XrmAdmin.md │ ├── Connect-XrmTdsEndpoint.md │ ├── Connect-XrmUser.md │ ├── ConvertTo-XrmObject.md │ ├── ConvertTo-XrmObjects.md │ ├── Copy-XrmInstance.md │ ├── Copy-XrmSolutionComponents.md │ ├── Disable-XrmTdsEndpoint.md │ ├── Disable-XrmWorkflow.md │ ├── Enable-XrmTdsEndpoint.md │ ├── Enable-XrmWorkflow.md │ ├── Export-XrmConnectionToBrowser.md │ ├── Export-XrmConnectionToXrmToolBox.md │ ├── Export-XrmSolution.md │ ├── Export-XrmSolutionsBuild.md │ ├── Get-XrmAllEntityMetadata.md │ ├── Get-XrmAttributeValue.md │ ├── Get-XrmAttributesLogicalName.md │ ├── Get-XrmAuditHistory.md │ ├── Get-XrmAuditPartitions.md │ ├── Get-XrmAuthTypes.md │ ├── Get-XrmBackup.md │ ├── Get-XrmBase64.md │ ├── Get-XrmBasicSolution.md │ ├── Get-XrmConnection.md │ ├── Get-XrmEntitiesLogicalName.md │ ├── Get-XrmEntityMetadata.md │ ├── Get-XrmInstance.md │ ├── Get-XrmInstances.md │ ├── Get-XrmMultipleRecords.md │ ├── Get-XrmOrganization.md │ ├── Get-XrmOrganizationClientFeatures.md │ ├── Get-XrmOrganizationDbSetting.md │ ├── Get-XrmOrganizationFeatures.md │ ├── Get-XrmPluginTraces.md │ ├── Get-XrmQueryFromFetch.md │ ├── Get-XrmRecord.md │ ├── Get-XrmRecordsFromView.md │ ├── Get-XrmRegions.md │ ├── Get-XrmRolePrivileges.md │ ├── Get-XrmRoles.md │ ├── Get-XrmRootBusinessUnit.md │ ├── Get-XrmSolution.md │ ├── Get-XrmSolutionComponentName.md │ ├── Get-XrmSolutionComponents.md │ ├── Get-XrmSolutionHistory.md │ ├── Get-XrmSolutionVersion.md │ ├── Get-XrmSolutions.md │ ├── Get-XrmTheme.md │ ├── Get-XrmThemes.md │ ├── Get-XrmTotalRecordCount.md │ ├── Get-XrmUser.md │ ├── Get-XrmUserBusinessUnit.md │ ├── Get-XrmUserRoles.md │ ├── Get-XrmUsers.md │ ├── Get-XrmUsersRoles.md │ ├── Get-XrmViews.md │ ├── Get-XrmWorkflows.md │ ├── Import-XrmConnection.md │ ├── Import-XrmSolution.md │ ├── Import-XrmSolutionsBuild.md │ ├── Invoke-XrmBulkRequest.md │ ├── Invoke-XrmBulkRequests.md │ ├── Invoke-XrmRequest.md │ ├── Invoke-XrmSolutionPackager.md │ ├── Invoke-XrmSqlCommand.md │ ├── Join-XrmRecords.md │ ├── New-XrmClient.md │ ├── New-XrmConnection.md │ ├── New-XrmContext.md │ ├── New-XrmDevOpsSettings.md │ ├── New-XrmEntity.md │ ├── New-XrmEntityCollection.md │ ├── New-XrmEntityReference.md │ ├── New-XrmFetchExpression.md │ ├── New-XrmInstance.md │ ├── New-XrmMoney.md │ ├── New-XrmOptionSetValue.md │ ├── New-XrmOptionSetValues.md │ ├── New-XrmQueryExpression.md │ ├── New-XrmRequest.md │ ├── Out-XrmClient.md │ ├── Out-XrmConnectionString.md │ ├── Out-XrmConnectionStringParameter.md │ ├── Protect-XrmCommand.md │ ├── Publish-XrmCustomizations.md │ ├── Publish-XrmTheme.md │ ├── Read-XrmExcelSheet.md │ ├── Remove-XrmActiveCustomizations.md │ ├── Remove-XrmLanguagePack.md │ ├── Remove-XrmPluginsFromAssembly.md │ ├── Remove-XrmRecord.md │ ├── Remove-XrmUserRoles.md │ ├── Restore-XrmInstance.md │ ├── Select-XrmSolutions.md │ ├── Set-XrmAttributeValue.md │ ├── Set-XrmClientTimeout.md │ ├── Set-XrmCredentials.md │ ├── Set-XrmInstanceMode.md │ ├── Set-XrmOrganizationClientFeature.md │ ├── Set-XrmOrganizationDbSetting.md │ ├── Set-XrmOrganizationFeature.md │ ├── Set-XrmSolutionVersion.md │ ├── Set-XrmSolutionsVersionBuild.md │ ├── Set-XrmThemeColor.md │ ├── Split-XrmCollection.md │ ├── Split-XrmRecords.md │ ├── Start-XrmSolutionUpgrade.md │ ├── Sync-XrmWebResources.md │ ├── Trace-XrmFunction.md │ ├── Update-XrmRecord.md │ ├── Update-XrmRecordFileUpload.md │ ├── Upsert-XrmAssembly.md │ ├── Upsert-XrmRecord.md │ ├── Upsert-XrmWebResource.md │ ├── Watch-XrmAsynchOperation.md │ ├── Watch-XrmCurrentSolutionImport.md │ ├── Watch-XrmOperation.md │ ├── Write-XrmExcelSheet.md │ └── Write-XrmMessageToSlack.md ├── index.md ├── install.md ├── samples │ ├── Browser Profile configuration.md │ ├── Working with data.md │ ├── Working with solutions.md │ └── XrmToolBox Connection Provisionning.md └── usage.md └── src ├── Administration ├── Add-XrmInstance.ps1 ├── Assert-XrmAdminConnected.ps1 ├── Backup-XrmInstance.ps1 ├── Connect-XrmAdmin.ps1 ├── Copy-XrmInstance.ps1 ├── Get-XrmBackup.ps1 ├── Restore-XrmInstance.ps1 ├── Set-XrmInstanceMode.ps1 └── Watch-XrmOperation.ps1 ├── Assemblies ├── Core │ ├── Microsoft.Crm.Sdk.Proxy.dll │ ├── Microsoft.Crm.Sdk.Proxy.xml │ ├── Microsoft.Extensions.Caching.Abstractions.dll │ ├── Microsoft.Extensions.Caching.Abstractions.xml │ ├── Microsoft.Extensions.Caching.Memory.dll │ ├── Microsoft.Extensions.Caching.Memory.xml │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ ├── Microsoft.Extensions.Configuration.Abstractions.xml │ ├── Microsoft.Extensions.Configuration.Binder.dll │ ├── Microsoft.Extensions.Configuration.Binder.xml │ ├── Microsoft.Extensions.Configuration.dll │ ├── Microsoft.Extensions.Configuration.xml │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.xml │ ├── Microsoft.Extensions.DependencyInjection.dll │ ├── Microsoft.Extensions.DependencyInjection.xml │ ├── Microsoft.Extensions.Http.dll │ ├── Microsoft.Extensions.Http.xml │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ ├── Microsoft.Extensions.Logging.Abstractions.xml │ ├── Microsoft.Extensions.Logging.dll │ ├── Microsoft.Extensions.Logging.xml │ ├── Microsoft.Extensions.ObjectPool.dll │ ├── Microsoft.Extensions.ObjectPool.xml │ ├── Microsoft.Extensions.Options.dll │ ├── Microsoft.Extensions.Options.xml │ ├── Microsoft.Extensions.Primitives.dll │ ├── Microsoft.Extensions.Primitives.xml │ ├── Microsoft.Identity.Client.Extensions.Msal.dll │ ├── Microsoft.Identity.Client.Extensions.Msal.xml │ ├── Microsoft.Identity.Client.dll │ ├── Microsoft.Identity.Client.xml │ ├── Microsoft.IdentityModel.Abstractions.dll │ ├── Microsoft.IdentityModel.Abstractions.xml │ ├── Microsoft.PowerPlatform.Dataverse.Client.dll │ ├── Microsoft.PowerPlatform.Dataverse.Client.xml │ ├── Microsoft.VisualBasic.dll │ ├── Microsoft.Win32.SystemEvents.dll │ ├── Microsoft.Win32.SystemEvents.xml │ ├── Microsoft.Xrm.Sdk.dll │ ├── Microsoft.Xrm.Sdk.xml │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── System.Configuration.ConfigurationManager.dll │ ├── System.Configuration.ConfigurationManager.xml │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.Diagnostics.DiagnosticSource.xml │ ├── System.Drawing.Common.dll │ ├── System.Drawing.Common.xml │ ├── System.Formats.Asn1.dll │ ├── System.Formats.Asn1.xml │ ├── System.Reflection.TypeExtensions.dll │ ├── System.Reflection.TypeExtensions.xml │ ├── System.Runtime.Caching.dll │ ├── System.Runtime.Caching.xml │ ├── System.Runtime.CompilerServices.Unsafe.dll │ ├── System.Runtime.CompilerServices.Unsafe.xml │ ├── System.Security.AccessControl.dll │ ├── System.Security.AccessControl.xml │ ├── System.Security.Cryptography.Pkcs.dll │ ├── System.Security.Cryptography.Pkcs.xml │ ├── System.Security.Cryptography.ProtectedData.dll │ ├── System.Security.Cryptography.ProtectedData.xml │ ├── System.Security.Cryptography.Xml.dll │ ├── System.Security.Cryptography.Xml.xml │ ├── System.Security.Permissions.dll │ ├── System.Security.Permissions.xml │ ├── System.ServiceModel.Http.dll │ ├── System.ServiceModel.Primitives.dll │ ├── System.Text.Encodings.Web.dll │ ├── System.Text.Encodings.Web.xml │ ├── System.Text.Json.dll │ ├── System.Text.Json.xml │ ├── System.Windows.Extensions.dll │ └── System.Windows.Extensions.xml ├── CoreTools │ ├── CrmSvcUtil.exe │ ├── CrmSvcUtil.exe.config │ ├── CrmSvcUtil.xml │ ├── LicenseTerms.docx │ ├── Microsoft.ApplicationInsights.dll │ ├── Microsoft.Crm.Sdk.Proxy.dll │ ├── Microsoft.Deployment.Compression.Cab.dll │ ├── Microsoft.Deployment.Compression.dll │ ├── Microsoft.IdentityModel.Clients.ActiveDirectory.dll │ ├── Microsoft.PowerPlatform.Tooling.BatchedTelemetry.dll │ ├── Microsoft.Rest.ClientRuntime.dll │ ├── Microsoft.Xrm.Sdk.Deployment.dll │ ├── Microsoft.Xrm.Sdk.dll │ ├── Microsoft.Xrm.Tooling.Connector.dll │ ├── Microsoft.Xrm.Tooling.CrmConnectControl.dll │ ├── Microsoft.Xrm.Tooling.Ui.Styles.dll │ ├── Newtonsoft.Json.dll │ ├── Other Redistributable.txt │ ├── SolutionPackager.exe │ ├── SolutionPackager.exe.config │ ├── SolutionPackagerLib.dll │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.Memory.dll │ ├── System.Runtime.CompilerServices.Unsafe.dll │ ├── System.Text.Json.dll │ ├── System.ValueTuple.dll │ ├── pacTelemetryUpload.exe │ └── pacTelemetryUpload.exe.config └── Desktop │ ├── Microsoft.Bcl.AsyncInterfaces.dll │ ├── Microsoft.Bcl.AsyncInterfaces.xml │ ├── Microsoft.Crm.Sdk.Proxy.dll │ ├── Microsoft.Crm.Sdk.Proxy.xml │ ├── Microsoft.Extensions.Caching.Abstractions.dll │ ├── Microsoft.Extensions.Caching.Abstractions.xml │ ├── Microsoft.Extensions.Caching.Memory.dll │ ├── Microsoft.Extensions.Caching.Memory.xml │ ├── Microsoft.Extensions.Configuration.Abstractions.dll │ ├── Microsoft.Extensions.Configuration.Abstractions.xml │ ├── Microsoft.Extensions.Configuration.Binder.dll │ ├── Microsoft.Extensions.Configuration.Binder.xml │ ├── Microsoft.Extensions.Configuration.dll │ ├── Microsoft.Extensions.Configuration.xml │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.dll │ ├── Microsoft.Extensions.DependencyInjection.Abstractions.xml │ ├── Microsoft.Extensions.DependencyInjection.dll │ ├── Microsoft.Extensions.DependencyInjection.xml │ ├── Microsoft.Extensions.Http.dll │ ├── Microsoft.Extensions.Http.xml │ ├── Microsoft.Extensions.Logging.Abstractions.dll │ ├── Microsoft.Extensions.Logging.Abstractions.xml │ ├── Microsoft.Extensions.Logging.dll │ ├── Microsoft.Extensions.Logging.xml │ ├── Microsoft.Extensions.ObjectPool.dll │ ├── Microsoft.Extensions.ObjectPool.xml │ ├── Microsoft.Extensions.Options.dll │ ├── Microsoft.Extensions.Options.xml │ ├── Microsoft.Extensions.Primitives.dll │ ├── Microsoft.Extensions.Primitives.xml │ ├── Microsoft.Identity.Client.Extensions.Msal.dll │ ├── Microsoft.Identity.Client.Extensions.Msal.xml │ ├── Microsoft.Identity.Client.dll │ ├── Microsoft.Identity.Client.xml │ ├── Microsoft.IdentityModel.Abstractions.dll │ ├── Microsoft.IdentityModel.Abstractions.xml │ ├── Microsoft.PowerPlatform.Dataverse.Client.dll │ ├── Microsoft.PowerPlatform.Dataverse.Client.xml │ ├── Microsoft.Xrm.Sdk.dll │ ├── Microsoft.Xrm.Sdk.xml │ ├── Newtonsoft.Json.dll │ ├── Newtonsoft.Json.xml │ ├── Other Redistributable.txt │ ├── System.Buffers.dll │ ├── System.Buffers.xml │ ├── System.ComponentModel.Annotations.dll │ ├── System.Diagnostics.DiagnosticSource.dll │ ├── System.Diagnostics.DiagnosticSource.xml │ ├── System.Formats.Asn1.dll │ ├── System.Formats.Asn1.xml │ ├── System.IO.FileSystem.AccessControl.dll │ ├── System.IO.FileSystem.AccessControl.xml │ ├── System.Memory.dll │ ├── System.Memory.xml │ ├── System.Numerics.Vectors.dll │ ├── System.Numerics.Vectors.xml │ ├── System.Private.ServiceModel.dll │ ├── System.Reflection.DispatchProxy.dll │ ├── System.Reflection.DispatchProxy.xml │ ├── System.Runtime.CompilerServices.Unsafe.dll │ ├── System.Runtime.CompilerServices.Unsafe.xml │ ├── System.Security.AccessControl.dll │ ├── System.Security.AccessControl.xml │ ├── System.Security.Cryptography.Cng.dll │ ├── System.Security.Cryptography.Cng.xml │ ├── System.Security.Cryptography.Pkcs.dll │ ├── System.Security.Cryptography.Pkcs.xml │ ├── System.Security.Cryptography.ProtectedData.dll │ ├── System.Security.Cryptography.Xml.dll │ ├── System.Security.Cryptography.Xml.xml │ ├── System.Security.Principal.Windows.dll │ ├── System.Security.Principal.Windows.xml │ ├── System.ServiceModel.Http.dll │ ├── System.ServiceModel.Primitives.dll │ ├── System.ServiceModel.dll │ ├── System.Text.Encodings.Web.dll │ ├── System.Text.Encodings.Web.xml │ ├── System.Text.Json.dll │ ├── System.Text.Json.xml │ ├── System.Threading.Tasks.Extensions.dll │ ├── System.Threading.Tasks.Extensions.xml │ ├── Third Party Notices for Dynamics 365 SDK.docx │ └── _._ ├── Attributes ├── Get-XrmAttributeValue.ps1 └── Set-XrmAttributeValue.ps1 ├── Audit ├── Get-XrmAuditHistory.ps1 └── Get-XrmAuditPartitions.ps1 ├── AzDevOps ├── Add-XrmDevOpsVariableGroup.ps1 ├── BuildTasks │ ├── Backup-XrmSolutionsBuild.ps1 │ ├── Export-XrmSolutionsBuild.ps1 │ ├── Import-XrmSolutionsBuild.ps1 │ └── Set-XrmSolutionsVersionBuild.ps1 └── Invoke-XrmDevOpsApi.ps1 ├── Browser └── Export-XrmConnectionToBrowser.ps1 ├── Client ├── Add-XrmRecord.ps1 ├── Get-XrmMultipleRecords.ps1 ├── Get-XrmRecord.ps1 ├── Invoke-XrmBulkRequest.ps1 ├── Invoke-XrmBulkRequests.ps1 ├── Invoke-XrmRequest.ps1 ├── Join-XrmRecords.ps1 ├── New-XrmClient.ps1 ├── Out-XrmClient.ps1 ├── Protect-XrmCommand.ps1 ├── Remove-XrmRecord.ps1 ├── Set-XrmClientTimeout.ps1 ├── Split-XrmRecords.ps1 ├── Update-XrmRecord.ps1 ├── Update-XrmRecordFileUpload.ps1 ├── Upsert-XrmRecord.ps1 └── Watch-XrmAsynchOperation.ps1 ├── Connection ├── Export-XrmConnectionToXrmToolBox.ps1 ├── Get-XrmConnection.ps1 ├── Import-XrmConnection.ps1 ├── New-XrmConnection.ps1 ├── Out-XrmConnectionString.ps1 └── Out-XrmConnectionStringParameter.ps1 ├── Converters ├── ConvertTo-XrmObject.ps1 └── ConvertTo-XrmObjects.ps1 ├── Excel ├── Read-XrmExcelSheet.ps1 └── Write-XrmExcelSheet.ps1 ├── Instances ├── Get-XrmInstance.ps1 ├── Get-XrmInstances.ps1 └── New-XrmInstance.ps1 ├── LanguagePack ├── Add-XrmLanguagePack.ps1 └── Remove-XrmLanguagePack.ps1 ├── Metadata ├── Get-XrmAllEntityMetadata.ps1 ├── Get-XrmAttributesLogicalName.ps1 ├── Get-XrmEntitiesLogicalName.ps1 └── Get-XrmEntityMetadata.ps1 ├── Organization ├── Get-XrmOrganization.ps1 ├── Get-XrmOrganizationClientFeatures.ps1 ├── Get-XrmOrganizationDbSetting.ps1 ├── Get-XrmOrganizationFeatures.ps1 ├── Set-XrmOrganizationClientFeature.ps1 ├── Set-XrmOrganizationDbSetting.ps1 └── Set-XrmOrganizationFeature.ps1 ├── Plugins ├── Get-XrmPluginTraces.ps1 ├── Remove-XrmPluginsFromAssembly.ps1 └── Upsert-XrmAssembly.ps1 ├── Query ├── Add-XrmQueryCondition.ps1 ├── Add-XrmQueryLink.ps1 ├── Add-XrmQueryLinkCondition.ps1 ├── Add-XrmQueryOrder.ps1 ├── Get-XrmTotalRecordCount.ps1 ├── New-XrmFetchExpression.ps1 └── New-XrmQueryExpression.ps1 ├── Requests ├── Add-XrmRequestParameter.ps1 └── New-XrmRequest.ps1 ├── SQL ├── Assert-XrmTdsEndpointEnabled.ps1 ├── Disable-XrmTdsEndpoint.ps1 ├── Enable-XrmTdsEndpoint.ps1 └── Invoke-XrmSqlCommand.ps1 ├── Security ├── Add-XrmUserRoles.ps1 ├── Get-XrmRolePrivileges.ps1 ├── Get-XrmRoles.ps1 ├── Get-XrmRootBusinessUnit.ps1 ├── Get-XrmUser.ps1 ├── Get-XrmUserBusinessUnit.ps1 ├── Get-XrmUserRoles.ps1 ├── Get-XrmUsers.ps1 ├── Get-XrmUsersRoles.ps1 ├── Get-XrmWhoAmI.ps1 └── Remove-XrmUserRoles.ps1 ├── Solutions ├── Clear-XrmSolutions.ps1 ├── Components │ ├── Add-XrmSolutionComponent.ps1 │ ├── Copy-XrmSolutionComponents.ps1 │ ├── Get-XrmSolutionComponentName.ps1 │ └── Get-XrmSolutionComponents.ps1 ├── Export-XrmSolution.ps1 ├── Get-NonCustomizableEntities.ps1 ├── Get-XrmBasicSolution.ps1 ├── Get-XrmSolution.ps1 ├── Get-XrmSolutionHistory.ps1 ├── Get-XrmSolutionVersion.ps1 ├── Get-XrmSolutions.ps1 ├── Import-XrmSolution.ps1 ├── Invoke-XrmSolutionPackager.ps1 ├── Layers │ ├── Clear-XrmActiveCustomizations.ps1 │ └── Remove-XrmActiveCustomizations.ps1 ├── Publish-XrmCustomizations.ps1 ├── Select-XrmSolutions.ps1 ├── Set-XrmSolutionVersion.ps1 ├── Start-XrmSolutionUpgrade.ps1 └── Watch-XrmCurrentSolutionImport.ps1 ├── Themes ├── Get-XrmTheme.ps1 ├── Get-XrmThemes.ps1 ├── Publish-XrmTheme.ps1 └── Set-XrmThemeColor.ps1 ├── Tracing ├── Trace-XrmFunction.ps1 ├── Write-HostAndLog.ps1 └── Write-XrmMessageToSlack.ps1 ├── Types ├── New-XrmContext.ps1 ├── New-XrmDevOpsSettings.ps1 ├── New-XrmEntity.ps1 ├── New-XrmEntityCollection.ps1 ├── New-XrmEntityReference.ps1 ├── New-XrmMoney.ps1 ├── New-XrmOptionSetValue.ps1 └── New-XrmOptionSetValues.ps1 ├── Utilities ├── Add-XrmFolder.ps1 ├── ForEach-ObjectWithProgress.ps1 ├── Get-XrmAuthTypes.ps1 ├── Get-XrmBase64.ps1 ├── Get-XrmRegions.ps1 ├── Set-XrmCredentials.ps1 └── Split-XrmCollection.ps1 ├── Views ├── Get-XrmQueryFromFetch.ps1 ├── Get-XrmRecordsFromView.ps1 └── Get-XrmViews.ps1 ├── WebResources ├── Sync-XrmWebResources.ps1 └── Upsert-XrmWebResource.ps1 ├── Workflows ├── Disable-XrmWorkflow.ps1 ├── Enable-XrmWorkflow.ps1 └── Get-XrmWorkflows.ps1 └── _Internals ├── AssemblyLoader.ps1 ├── BrowserManager.ps1 └── CryptoManager.ps1 /.github/workflows/PublishNugetPackage.yml: -------------------------------------------------------------------------------- 1 | name: Publish PowerShell Module 2 | 3 | on: 4 | push: 5 | branches: 6 | - main 7 | 8 | jobs: 9 | publish: 10 | runs-on: ubuntu-latest 11 | 12 | steps: 13 | - name: Checkout repository 14 | uses: actions/checkout@v2 15 | 16 | - name: Update module version 17 | shell: pwsh 18 | run: | 19 | $modulePath = "./PowerDataOps.psd1"; 20 | $moduleContent = [IO.File]::ReadAllText($modulePath); 21 | 22 | $module = [PsCustomObject] (Import-PowerShellDataFile $modulePath); 23 | $currentVersion = [version] $module.ModuleVersion; 24 | 25 | $newVersion = [version]::new($currentVersion.Major, $currentVersion.Minor, $currentVersion.Build, $currentVersion.Revision + 1); 26 | Write-Host "New Module Version = $($newVersion.ToString())"; 27 | 28 | $moduleContent = $moduleContent.Replace($currentVersion.ToString(), $newVersion.ToString()); 29 | 30 | #$moduleContent | Set-Content $modulePath; 31 | 32 | - name: Publish to PSGallery 33 | shell: pwsh 34 | run: | 35 | Publish-Module -Path "./" -NuGetApiKey "${{ secrets.PS_GALLERY_KEY }}" -SkipAutomaticTags -Verbose 36 | env: 37 | PS_GALLERY_KEY: ${{ secrets.PS_GALLERY_KEY }} 38 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 Aymeric Mouillé 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /PowerDataOps.psd1: -------------------------------------------------------------------------------- 1 | @{ 2 | RootModule = 'PowerDataOps' 3 | ModuleVersion = '2.0.0.9' 4 | GUID = 'bfa11058-d4b5-4300-b74a-cdc3d9560389' 5 | Author = 'Aymeric Mouillé' 6 | CompanyName = 'Unknown' 7 | Copyright = '(c) 2020 Aymeric Mouille. All rights reserved.' 8 | Description = 'PowerShell module for Microsoft Dataverse (ex Common Data Service) and Power Platform automation (Data Management, administration and DevOps activities)' 9 | FunctionsToExport = '*' 10 | CmdletsToExport = '*' 11 | AliasesToExport = '*' 12 | PrivateData = @{ 13 | PSData = @{ 14 | Tags = 'Cds','PowerPlatform','DevOps','Xrm','D365','Dataverse','Dynamics' 15 | LicenseUri = 'https://licenses.nuget.org/MIT' 16 | ProjectUri = 'https://github.com/AymericM78/PowerDataOps' 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmFolder.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmFolder` 2 | 3 | ## Description 4 | 5 | **Add folder in given path if it doesn't exists.** : Create given folder if not exist and return sub folder full path. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Path|String|1|true||Folder path where to add given folder. 12 | FolderName|String|2|true||Folder name. 13 | CleanIfExists|SwitchParameter|named|false|False|If folder already exists, remove existing content. (Default : False) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Add-XrmFolder [-Path] [-FolderName] [-CleanIfExists] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Create new Dataverse instance.** : Provision new dataverse instance with database. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | InstanceDisplayName|String|1|true||Instance friendly name 12 | InstanceDomainName|String|2|true||Instance domain name for instance url (myinstance => myinstance.crm.dynamics1.com) 13 | Location|String|3|true||DataCenter region (France, EMEA, UK, ...) 14 | Sku|String|4|true||Instance type (sandbox or production) 15 | CurrencyCodeName|String|5|true||Name of currency (EUR, ...) 16 | LanguageName|String|6|true||Language name LCID (English = 1033, French = 1036, ...) 17 | 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Add-XrmInstance [-InstanceDisplayName] [-InstanceDomainName] [-Location] [-Sku] [-CurrencyCodeName] [-LanguageName] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmLanguagePack.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmLanguagePack` 2 | 3 | ## Description 4 | 5 | **Activate given language.** : Install specify language pack to target instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Language|Int32|2|true|0|Language name LCID (English = 1033, French = 1036, ...) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Add-XrmLanguagePack [[-XrmClient] ] [-Language] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmQueryLink.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmQueryLink` 2 | 3 | ## Description 4 | 5 | **Add link entity to given query expression.** : Add new link to given query expression to join to another table / entity. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Query|QueryExpression|1|true||QueryExpression where condition should be add. 12 | FromAttributeName|String|2|true||Gets or sets the logical name of the attribute of the entity that you are linking from. 13 | ToEntityName|String|3|true||Gets or sets the logical name of the entity that you are linking to. 14 | ToAttributeName|String|4|false||Gets or sets the logical name of the attribute of the entity that you are linking to. 15 | Alias|String|5|false|| 16 | JoinOperator|JoinOperator|6|false|Inner| 17 | 18 | ## Outputs 19 | Microsoft.Xrm.Sdk.Query.LinkEntity 20 | 21 | ## Usage 22 | 23 | ```Powershell 24 | Add-XrmQueryLink [-Query] [-FromAttributeName] [-ToEntityName] [[-ToAttributeName] ] [[-Alias] ] [[-JoinOperator] {Inner | LeftOuter | Natural | MatchFirstRowUsingCrossApply | In | Exists | Any | NotAny | All | NotAll}] [] 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmQueryOrder.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmQueryOrder` 2 | 3 | ## Description 4 | 5 | **Add order to query expression.** : Set sort order to query expression. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Query|QueryExpression|1|true||QueryExpression where sort should be add. 12 | Field|String|2|true||Column / attribute logical name to sort. 13 | OrderType|OrderType|3|true||Specify order on given column : ascending or descending. 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.Query.QueryExpression 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Add-XrmQueryOrder [-Query] [-Field] [-OrderType] {Ascending | Descending} [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmRecord.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmRecord` 2 | 3 | ## Description 4 | 5 | **Create entity record in Microsoft Dataverse.** : Add a new row in Microsoft Dataverse table and return created ID (Uniqueidentifier). 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Record|Entity|2|true||Record information to add. (Entity) 13 | BypassCustomPluginExecution|SwitchParameter|named|false|False|Specify wether involved plugins should be triggered or not during this operation. (Default: False) 14 | 15 | ## Outputs 16 | Guid. Newly created record identified. 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Add-XrmRecord [[-XrmClient] ] [-Record] [-BypassCustomPluginExecution] [] 22 | ``` 23 | 24 | ## Examples 25 | 26 | ```Powershell 27 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 28 | $account = New-XrmEntity -LogicalName "account" -Attributes @{ 29 | "name" = "Contoso"; 30 | "revenue" = New-XrmMoney -Value 123456.78; 31 | "industrycode" = New-XrmOptionSetValue -Value 37; 32 | } 33 | $account.Id = Add-XrmRecord -XrmClient $xrmClient -Record $account; 34 | ``` 35 | 36 | ## More informations 37 | 38 | System.Object[] 39 | 40 | 41 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmRequestParameter.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmRequestParameter` 2 | 3 | ## Description 4 | 5 | **Add parameter to request.** : Add parameter name and value to given request. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Request|OrganizationRequest|1|true|| 12 | Name|String|2|true||Parameter name. 13 | Value|Object|3|true||Parameter value. 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.OrganizationRequest 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Add-XrmRequestParameter [-Request] [-Name] [-Value] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmSolutionComponent.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmSolutionComponent` 2 | 3 | ## Description 4 | 5 | **Add Solution Component.** : Add given component to specified solution. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Unmanaged solution unique name where to add component. 13 | ComponentId|Guid|3|true||Component unique identifier. 14 | ComponentType|Int32|4|true|0|Component type number (see Get-XrmSolutionComponentName to get name from type number). 15 | DoNotIncludeSubcomponents|Boolean|5|false|True|Indicates whether the subcomponents should be included. (Default : true = no subcomponents) 16 | AddRequiredComponents|Boolean|6|false|False|Gets or sets a value that indicates whether other solution components that are required by the solution component that you are adding should also be added to the unmanaged solution. Required. (Default : false = do not add required components) 17 | 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Add-XrmSolutionComponent [[-XrmClient] ] [-SolutionUniqueName] [-ComponentId] [-ComponentType] [[-DoNotIncludeSubcomponents] ] [[-AddRequiredComponents] ] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/Add-XrmUserRoles.md: -------------------------------------------------------------------------------- 1 | # Command : `Add-XrmUserRoles` 2 | 3 | ## Description 4 | 5 | **Add security roles to user.** : Assign on or multiple roles to given user. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | UserReference|EntityReference|2|true|| 13 | Roles|Guid[]|3|true|@()|Roles unique identifier array to add. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Add-XrmUserRoles [[-XrmClient] ] [-UserReference] [-Roles] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Assert-XrmAdminConnected.md: -------------------------------------------------------------------------------- 1 | # Command : `Assert-XrmAdminConnected` 2 | 3 | ## Description 4 | 5 | **Check if current user has D365 / Dataverse admin role.** : This command is done each time we need to run admin operation. 6 | This mean that we need to proceed to Connect-XrmAdmin before. 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Assert-XrmAdminConnected [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Assert-XrmTdsEndpointConnected.md: -------------------------------------------------------------------------------- 1 | # Command : `Assert-XrmTdsEndpointConnected` 2 | 3 | ## Description 4 | 5 | **Check if TDS endpoint is enabled.** : Assert orgdbsettings EnableTDSEndpoint parameter is true to allow SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|CrmServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Assert-XrmTdsEndpointConnected [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Assert-XrmTdsEndpointEnabled.md: -------------------------------------------------------------------------------- 1 | # Command : `Assert-XrmTdsEndpointEnabled` 2 | 3 | ## Description 4 | 5 | **Check if TDS endpoint is enabled.** : Assert orgdbsettings EnableTDSEndpoint parameter is true to allow SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Assert-XrmTdsEndpointEnabled [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Backup-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `Backup-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Backup instance** : Add a backup for given instance 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | InstanceDomainName|String|1|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) 12 | BackupLabel|String|2|true||Name of the backup 13 | BackupDescription|String|3|false||Backup description 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Backup-XrmInstance [-InstanceDomainName] [-BackupLabel] [[-BackupDescription] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Backup-XrmSolutionsBuild.md: -------------------------------------------------------------------------------- 1 | # Command : `Backup-XrmSolutionsBuild` 2 | 3 | ## Description 4 | 5 | **Run build action to unpack solutions** : This cmdlet is designed to be fully intergrated in Az DevOps pipeline. 6 | This cmdlet export given solutions and then start SolutionPackager extract action to working directory. 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | ConnectionString|String|1|false|$env:CONNECTIONSTRING|Target instance connection string, use variable 'ConnectionString' from associated variable group. 13 | UnpackPath|String|2|false|$env:SYSTEM_DEFAULTWORKINGDIRECTORY|Folder path where solutions will be extracted. (Default: Agent working directory) 14 | Solutions|String|3|false|$env:SOLUTIONS|Solution uniquenames that will be exported and then unpacked, use variable 'Solutions' from associated variable group. 15 | Managed|Boolean|4|false|False|Specify if solution should be export as managed or unmanaged. (Default: false = unmanaged) 16 | DefaultExportPath|String|5|false|$env:TEMP|Folder path where solutions will be exported before unpacked. (Default: Agent temp directory) 17 | TimeoutInMinutes|Int32|6|false|10| 18 | 19 | 20 | ## Usage 21 | 22 | ```Powershell 23 | Backup-XrmSolutionsBuild [[-ConnectionString] ] [[-UnpackPath] ] [[-Solutions] ] [[-Managed] ] [[-DefaultExportPath] ] [[-TimeoutInMinutes] ] [] 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/commands/Clear-XrmActiveCustomizations.md: -------------------------------------------------------------------------------- 1 | # Command : `Clear-XrmActiveCustomizations` 2 | 3 | ## Description 4 | 5 | **Clear active customizations for given solution components.** : Performs a cleaning on Active Layer to remove unmanaged customizations for given component types. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Solution unique name where to get components to clean. 13 | ComponentTypes|Int32[]|3|false|@(26, 59, 60, 61, 62, 300)|Solution components types number to clean. (Default = 26, 59, 60, 61, 62, 300 = SavedQuery, SavedQueryVisualization, SystemForm, WebResource, SiteMap, Canvas App) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Clear-XrmActiveCustomizations [[-XrmClient] ] [-SolutionUniqueName] [[-ComponentTypes] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Clear-XrmSolutions.md: -------------------------------------------------------------------------------- 1 | # Command : `Clear-XrmSolutions` 2 | 3 | ## Description 4 | 5 | **Select solutions to uninstall.** : Select solutions (managed or unmanaged) and delete them. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby")|Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 13 | TimeOutInMinutes|Int32|3|false|45|Specify timeout duration in minute for each solution deletion. (Default : 45 min) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Clear-XrmSolutions [[-XrmClient] ] [[-Columns] ] [[-TimeOutInMinutes] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Connect-XrmAdmin.md: -------------------------------------------------------------------------------- 1 | # Command : `Connect-XrmAdmin` 2 | 3 | ## Description 4 | 5 | **Use Add-PowerAppsAccount cmdlet signs in the user or application account and saves the sign in information to cache.** : Use this command to embed Power Apps Admin cmdlets 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | UserName|String|1|false||User login 12 | Password|String|2|false||User password 13 | TenantId|String|3|false||AAD tenant ID (use with Client ID / secret) 14 | ApplicationId|String|4|false||AAD Application ID 15 | ClientSecret|String|5|false||AAD Application secret 16 | CertificateThumbprint|String|6|false||AAD Application Certificate Thumbprint 17 | IsEncrypted|Boolean|7|false|False|Specify if password or secret are encrypted. 18 | 19 | 20 | ## Usage 21 | 22 | ```Powershell 23 | Connect-XrmAdmin [[-UserName] ] [[-Password] ] [[-TenantId] ] [[-ApplicationId] ] [[-ClientSecret] ] [[-CertificateThumbprint] ] [[-IsEncrypted] ] [] 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/commands/Connect-XrmTdsEndpoint.md: -------------------------------------------------------------------------------- 1 | # Command : `Connect-XrmTdsEndpoint` 2 | 3 | ## Description 4 | 5 | **Connect to TDS endpoint.** : Specify connection parameters to run SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | UserName|String|1|true||User login 12 | Password|String|2|true||User password 13 | Url|String|3|true||Microsoft Dataverse instance url 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Connect-XrmTdsEndpoint [-UserName] [-Password] [-Url] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Connect-XrmUser.md: -------------------------------------------------------------------------------- 1 | # Command : `Connect-XrmUser` 2 | 3 | ## Description 4 | 5 | **Authenticate user to Microsoft Dataverse.** : Prepare Microsoft Dataverse connection with user credentials in order to consume Discovery Service. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | UserName|String|1|false||User login. 12 | Password|String|2|false||User password. 13 | AuthType|String|3|true||User authrentication type. (Office365, AD, Ifd) 14 | => Warning : Office365 authentication is deprecated! 15 | Region|String|4|false||DataCenter region (France, EMEA, UK, ...) where target instances are located. 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Connect-XrmUser [[-UserName] ] [[-Password] ] [-AuthType] [[-Region] ] 22 | [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/ConvertTo-XrmObject.md: -------------------------------------------------------------------------------- 1 | # Command : `ConvertTo-XrmObject` 2 | 3 | ## Description 4 | 5 | **Transform Entity to custom object.** : Represent Entity object to custom object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Record|Entity|1|true||Entity record / table row (Entity). 12 | 13 | ## Outputs 14 | System.Management.Automation.PSObject 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | ConvertTo-XrmObject [-Record] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/ConvertTo-XrmObjects.md: -------------------------------------------------------------------------------- 1 | # Command : `ConvertTo-XrmObjects` 2 | 3 | ## Description 4 | 5 | **Transform Entity Collection to custom object collection.** : Represent Entity objects to custom objects array. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | InputObject|Entity[]|1|true|| 12 | 13 | ## Outputs 14 | System.Management.Automation.PSObject[] 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | ConvertTo-XrmObjects [-InputObject] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Copy-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `Copy-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Copy instance to another.** : Copy given source instance to target source instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | SourceInstanceDomainName|String|1|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) that you want to copy 12 | TargetInstanceDomainName|String|2|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) that you want to overwrite 13 | CopyType|String|3|true||Copy type : MinimalCopy (schema only) / FullCopy (All) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Copy-XrmInstance [-SourceInstanceDomainName] [-TargetInstanceDomainName] [-CopyType] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Copy-XrmSolutionComponents.md: -------------------------------------------------------------------------------- 1 | # Command : `Copy-XrmSolutionComponents` 2 | 3 | ## Description 4 | 5 | **Copy Solution Components.** : Add all components from source solution to target one. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SourceSolutionUniqueName|String|2|true||Unmanaged solution unique name where to add components. 13 | TargetSolutionUniqueName|String|3|true||Unmanaged solution unique name where to get components. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Copy-XrmSolutionComponents [[-XrmClient] ] [-SourceSolutionUniqueName] [-TargetSolutionUniqueName] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Disable-XrmTdsEndpoint.md: -------------------------------------------------------------------------------- 1 | # Command : `Disable-XrmTdsEndpoint` 2 | 3 | ## Description 4 | 5 | **Disable TDS endpoint.** : Configure orgdbsettings parameter to prevent SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Disable-XrmTdsEndpoint [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Disable-XrmWorkflow.md: -------------------------------------------------------------------------------- 1 | # Command : `Disable-XrmWorkflow` 2 | 3 | ## Description 4 | 5 | **Disable a workflow.** : Deactivate given workflow. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | WorkflowId|Guid|2|true||Workflow unique identifier. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Disable-XrmWorkflow [[-XrmClient] ] [-WorkflowId] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Enable-XrmTdsEndpoint.md: -------------------------------------------------------------------------------- 1 | # Command : `Enable-XrmTdsEndpoint` 2 | 3 | ## Description 4 | 5 | **Enable TDS endpoint.** : Configure orgdbsettings parameter to allow SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Enable-XrmTdsEndpoint [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Enable-XrmWorkflow.md: -------------------------------------------------------------------------------- 1 | # Command : `Enable-XrmWorkflow` 2 | 3 | ## Description 4 | 5 | **Enable a workflow.** : Activate given workflow. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | WorkflowId|Guid|2|true||Workflow unique identifier. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Enable-XrmWorkflow [[-XrmClient] ] [-WorkflowId] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Export-XrmConnectionToXrmToolBox.md: -------------------------------------------------------------------------------- 1 | # Command : `Export-XrmConnectionToXrmToolBox` 2 | 3 | ## Description 4 | 5 | **Export instances collection to XML file with connection strings to XrmToolBox connection file.** : Populate XrmToolbox connections with available instance for given user. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmConnection|Object|1|false|$Global:XrmContext.CurrentConnection| 12 | Name|String|2|true||XTB connection name. 13 | OverrideConnectionStringFormat|String|3|false||Provide the ConnectionString template in order to access to instances with different credentials. 14 | XtbConnectionPath|String|4|false|"$env:APPDATA\MscrmTools\XrmToolBox\Connections"|XTB connections folder path. (Default: $env:APPDATA\MscrmTools\XrmToolBox\Connections) 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Export-XrmConnectionToXrmToolBox [[-XrmConnection] ] [-Name] [[-OverrideConnectionStringFormat] ] [[-XtbConnectionPath] ] [] 21 | ``` 22 | 23 | ## Examples 24 | 25 | ```Powershell 26 | Connect-XrmUser -AuthType Office365 -UserName "user@contoso.fake" -Password "MyPass123" 27 | Export-XrmConnectionToXrmToolBox -Name "Contoso" 28 | ``` 29 | 30 | ## More informations 31 | 32 | https://github.com/AymericM78/PowerDataOps/blob/main/documentation/samples/XrmToolBox%20Connection%20Provisionning.md 33 | 34 | 35 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAllEntityMetadata.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAllEntityMetadata` 2 | 3 | ## Description 4 | 5 | **Retrieve all entity metadata** : Get list of entity / table metadata. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Filter|EntityFilters|2|false|All|Filter to apply on entities metadata. 13 | RetrieveAsIfPublished|Boolean|3|false|True|Retrieve metadata as if published. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmAllEntityMetadata [[-XrmClient] ] [[-Filter] {Entity | Default | Attributes | Privileges | Relationships | All}] [[-RetrieveAsIfPublished] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAttributeValue.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAttributeValue` 2 | 3 | ## Description 4 | 5 | **Read entity attribute.** : Extract entity attribute value from record / table row. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Record|Entity|1|true||Entity record / table row (Entity). 12 | Name|String|2|true||Attribute (Column) name. 13 | FormattedValue|SwitchParameter|named|false|False|Specify if expected value should be provided from FormattedValues <> raw value. 14 | RaiseErrorIfMissing|Boolean|3|false|False|If true, throws an exception if attribute/column is not present in row / record. Else, ignore. 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Get-XrmAttributeValue [-Record] [-Name] [-FormattedValue] [[-RaiseErrorIfMissing] ] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAttributesLogicalName.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAttributesLogicalName` 2 | 3 | ## Description 4 | 5 | **Retrieve entities logicalname attribute.** : Get list of columns / attribute logical names from given entity / table. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | EntityLogicalName|String|2|true||Table / Entity logical name. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmAttributesLogicalName [[-XrmClient] ] [-EntityLogicalName] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAuditHistory.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAuditHistory` 2 | 3 | ## Description 4 | 5 | **Retrieve audit for given record.** : Get record audit history for given fields changes 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | RecordReference|EntityReference|2|true||Lookup to target record. (EntityReference) 13 | AttributeFilter|String[]|3|false||Attributes logical names to filter. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmAuditHistory [[-XrmClient] ] [-RecordReference] [[-AttributeFilter] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAuditPartitions.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAuditPartitions` 2 | 3 | ## Description 4 | 5 | **Retrieve audit partitions** : Get record audit logs with date range and size. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Get-XrmAuditPartitions [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmAuthTypes.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmAuthTypes` 2 | 3 | ## Description 4 | 5 | **Retrieve authentication type names.** : Get available authentication types. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | 12 | 13 | ## Usage 14 | 15 | ```Powershell 16 | Get-XrmAuthTypes [] 17 | ``` 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmBackup.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmBackup` 2 | 3 | ## Description 4 | 5 | **Retrieve backup infos** : Retrieve a backup from given instance 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | InstanceDomainName|String|1|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) 12 | BackupLabel|String|2|false||Name of the backup 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmBackup [-InstanceDomainName] [[-BackupLabel] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmBase64.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmBase64` 2 | 3 | ## Description 4 | 5 | **Get base 64 from file content.** : Read given file and return its content as base64 content. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | FilePath|String|1|true||Full file path. 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Get-XrmBase64 [-FilePath] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmBasicSolution.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmBasicSolution` 2 | 3 | ## Description 4 | 5 | **Retrieve basic solution record.** : Get basic solution with specified column. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby")|Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmBasicSolution [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmConnection.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmConnection` 2 | 3 | ## Description 4 | 5 | **Get connections from XrmToolBox.** : Browse and retrieve information from XrmToolBox saved connections. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ListAvailable|SwitchParameter|named|false|False|Specify if you want to see all connections or all instances. 12 | XtbConnectionPath|String|1|false|"$env:APPDATA\MscrmTools\XrmToolBox\Connections"|XTB connections folder path. (Default: $env:APPDATA\MscrmTools\XrmToolBox\Connections) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmConnection [-ListAvailable] [[-XtbConnectionPath] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmEntitiesLogicalName.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmEntitiesLogicalName` 2 | 3 | ## Description 4 | 5 | **Retrieve entities logicalname** : Get list of entity / table logical names. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Get-XrmEntitiesLogicalName [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmEntityMetadata.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmEntityMetadata` 2 | 3 | ## Description 4 | 5 | **Retrieve entity metadata** : Get entity / table metadata. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | LogicalName|String|2|true||Table / Entity logical name. 13 | Filter|EntityFilters|3|false|All|Filter to apply on metadata. 14 | RetrieveAsIfPublished|Boolean|4|false|True|Retrieve metadata as if published. 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Get-XrmEntityMetadata [[-XrmClient] ] [-LogicalName] [[-Filter] {Entity | Default | Attributes | Privileges | Relationships | All}] [[-RetrieveAsIfPublished] ] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Retrieve instance by name** : Get Microsoft Dataverse instance object by its domainname / urlhostname 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Name|String|1|true||Instance domain name for instance url (myinstance => myinstance.crm.dynamics1.com) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Get-XrmInstance [-Name] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmInstances.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmInstances` 2 | 3 | ## Description 4 | 5 | **Retrieve instances collection.** : Get Microsoft Dataverse instance object collection according to current user rights. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | 12 | 13 | ## Usage 14 | 15 | ```Powershell 16 | Get-XrmInstances [] 17 | ``` 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmMultipleRecords.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmMultipleRecords` 2 | 3 | ## Description 4 | 5 | **Retrieve multiple records with QueryExpression.** : Get rows from Microsoft Dataverse table with specified query (QueryBase). 6 | This command use pagination to pull all records. 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 13 | Query|QueryBase|2|true||Query that select and filter data from Microsoft Dataverse table. (QueryBase) 14 | PageSize|Int32|3|false|1000|Specify row count per page to pull. (Default: 1000) 15 | ShowProgress|SwitchParameter|named|false|False| 16 | 17 | ## Outputs 18 | Custom Objects array. Rows (= Entity records) are converted to custom object to simplify data operations. 19 | 20 | ## Usage 21 | 22 | ```Powershell 23 | Get-XrmMultipleRecords [[-XrmClient] ] [-Query] [[-PageSize] ] [-ShowProgress] [] 24 | ``` 25 | 26 | ## Examples 27 | 28 | ```Powershell 29 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 30 | $queryAccounts = New-XrmQueryExpression -LogicalName "account" -Columns "*" ` 31 | | Add-XrmQueryCondition -Field "name" -Condition Like -Values "D%" ` 32 | | Add-XrmQueryCondition -Field "createdon" -Condition LastXMonths -Values 20; 33 | $accounts = Get-XrmMultipleRecords -XrmClient $xrmClient -Query $queryAccounts; 34 | ``` 35 | 36 | ## More informations 37 | 38 | System.Object[] 39 | 40 | 41 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmOrganization.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmOrganization` 2 | 3 | ## Description 4 | 5 | **Get Organization object.** : Retrieve default organization record from target instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmOrganization [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmOrganizationClientFeatures.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmOrganizationClientFeatures` 2 | 3 | ## Description 4 | 5 | **Get Organization Client Features.** : Retrieve all or specified client features from default organization (see : Get-XrmOrganization) 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | Name|String|2|false||Client feature name to retrieve. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmOrganizationClientFeatures [[-XrmClient] ] [[-Name] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmOrganizationDbSetting.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmOrganizationDbSetting` 2 | 3 | ## Description 4 | 5 | **Get Organization setting.** : Retrieve organization setting (orgdbsetting) from target instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Name|String|2|false||Setting name to retrieve. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmOrganizationDbSetting [[-XrmClient] ] [[-Name] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmOrganizationFeatures.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmOrganizationFeatures` 2 | 3 | ## Description 4 | 5 | **Get Organization Features** : Retrieve all or specified features from default organization (see : Get-XrmOrganization) 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | Name|String|2|false||Feature name to retrieve. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmOrganizationFeatures [[-XrmClient] ] [[-Name] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmPluginTraces.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmPluginTraces` 2 | 3 | ## Description 4 | 5 | **Retrieve plugin traces.** : Get latest plugin trace log from target instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | ErrorsOnly|Boolean|2|false|False| 13 | Take|Int32|3|false|50|Specify number of items to retrieve. (Default : 50) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmPluginTraces [[-XrmClient] ] [[-ErrorsOnly] ] [[-Take] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmQueryFromFetch.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmQueryFromFetch` 2 | 3 | ## Description 4 | 5 | **Retrieve query expression from fetch Xml.** : Convert FetchXml to QueryExpression. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | FetchXml|String|2|true||FetchXML query string. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmQueryFromFetch [[-XrmClient] ] [-FetchXml] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRecord.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRecord` 2 | 3 | ## Description 4 | 5 | **Search for record with simple query.** : Get specific row (Entity record) according to given id, key, or attribute. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | LogicalName|String|2|true||Table / Entity logical name. 13 | Key|String|3|false||Specify alternate key attribute name to search. 14 | AttributeName|String|4|false||Specify attribute name to search. 15 | Value|Object|5|true||Specify key or attribute value to search. 16 | Use Id to specify row (entity record) unique identifier 17 | Columns|String[]|6|false||Specify row (entity record) columns to return. (array) 18 | 19 | ## Outputs 20 | Custom Object. Row (= Entity record) is converted to custom object to simplify data operations. 21 | 22 | ## Usage 23 | 24 | ```Powershell 25 | Get-XrmRecord [[-XrmClient] ] [-LogicalName] [[-Key] ] [[-AttributeName] ] [-Value] [[-Columns] ] [] 26 | ``` 27 | 28 | ## Examples 29 | 30 | ```Powershell 31 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 32 | $contosoAccount = Get-XrmRecord -XrmClient $xrmClient -LogicalName "account" -AttributeName "name" -Value "Contoso" -Columns "revenue"; 33 | Write-Host $contosoAccount.revenue; 34 | ``` 35 | 36 | ## More informations 37 | 38 | System.Object[] 39 | 40 | 41 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRecordsFromView.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRecordsFromView` 2 | 3 | ## Description 4 | 5 | **Retrieve records from a view.** : Get records according to given view name. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | EntityLogicalName|String|2|true|| 13 | ViewName|String|3|true||Entity saved query name. Use auto completion to select proper one. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmRecordsFromView [[-XrmClient] ] [-EntityLogicalName] [-ViewName] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRegions.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRegions` 2 | 3 | ## Description 4 | 5 | **Retrieve region names.** : Get available datacenter regions. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | 12 | 13 | ## Usage 14 | 15 | ```Powershell 16 | Get-XrmRegions [] 17 | ``` 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRolePrivileges.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRolePrivileges` 2 | 3 | ## Description 4 | 5 | **Retrieve security role privileges.** : Get role privileges from given role. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | RoleId|Guid|2|true||Role unique identifier. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmRolePrivileges [[-XrmClient] ] [-RoleId] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRoles.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRoles` 2 | 3 | ## Description 4 | 5 | **Retrieve security roles.** : Get security roles according to different criterias. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | BusinessUnitId|Guid|2|false||Business Unit unique identifier where roles are associated. 13 | OnlyRoots|SwitchParameter|named|false|False|Specify if parent roles are retrieved or not. (Default : false = All roles) 14 | Columns|String[]|3|false|@("roleid", "name", "parentrootroleid", "businessunitid")|Specify expected columns to retrieve. (Default : all columns) 15 | ExportPrivileges|SwitchParameter|named|false|False|Specify if privileges are retrieved or not. (Default : false = No privileges) 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Get-XrmRoles [[-XrmClient] ] [[-BusinessUnitId] ] [-OnlyRoots] [[-Columns] ] [-ExportPrivileges] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmRootBusinessUnit.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmRootBusinessUnit` 2 | 3 | ## Description 4 | 5 | **Retrieve root business unit.** : Get top business unit of organization. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmRootBusinessUnit [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolution.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolution` 2 | 3 | ## Description 4 | 5 | **Retrieve solution record.** : Get solution by its unique name with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Solution unique name to retrieve. 13 | Columns|String[]|3|false|@("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby")|Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmSolution [[-XrmClient] ] [-SolutionUniqueName] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolutionComponentName.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolutionComponentName` 2 | 3 | ## Description 4 | 5 | **Get Solution Component name from Id.** : Retrieve component name from its number. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | SolutionComponentType|Int32|1|true|0|Solution component type number. 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Get-XrmSolutionComponentName [-SolutionComponentType] [] 18 | ``` 19 | 20 | ## More informations 21 | 22 | https://docs.microsoft.com/en-us/dynamics365/customer-engagement/web-api/solutioncomponent?view=dynamics-ce-odata-9 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolutionComponents.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolutionComponents` 2 | 3 | ## Description 4 | 5 | **Get Solution Components.** : Retrieve components from given solution and expected types. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Unmanaged solution unique name where to get components. 13 | ComponentTypes|Int32[]|3|false|@()|Array of component types number to retrieve. (Default: none = retrieve all components) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmSolutionComponents [[-XrmClient] ] [-SolutionUniqueName] [[-ComponentTypes] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolutionHistory.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolutionHistory` 2 | 3 | ## Description 4 | 5 | **Retrieve solutions history.** : Get solution operation logs. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Take|Int32|2|false|50|Number of logs to retrieve. (Default : 50) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmSolutionHistory [[-XrmClient] ] [[-Take] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolutionVersion.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolutionVersion` 2 | 3 | ## Description 4 | 5 | **Get solution version.** : Get version number from given solution. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Solution unique name to retrieve. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmSolutionVersion [[-XrmClient] ] [-SolutionUniqueName] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmSolutions.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmSolutions` 2 | 3 | ## Description 4 | 5 | **Retrieve solutions records.** : Get all solutions from instance with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby")|Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmSolutions [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmTheme.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmTheme` 2 | 3 | ## Description 4 | 5 | **Retrieve theme record.** : Get theme by its name with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Name|String|2|true|| 13 | Columns|String[]|3|false|*|Specify expected columns to retrieve. (Default : All columns) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmTheme [[-XrmClient] ] [-Name] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmThemes.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmThemes` 2 | 3 | ## Description 4 | 5 | **Retrieve theme records.** : Get themes with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|*|Specify expected columns to retrieve. (Default : All columns) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmThemes [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmTotalRecordCount.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmTotalRecordCount` 2 | 3 | ## Description 4 | 5 | **Returns total number of rows in given entity / table.** : Returns data on the total number of records for specific entities. (RetrieveTotalRecordCount) 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | LogicalNames|String[]|2|true||The logical names of the entities to include in the query. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmTotalRecordCount [[-XrmClient] ] [-LogicalNames] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmUser.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmUser` 2 | 3 | ## Description 4 | 5 | **Retrieve user.** : Get system user according to given ID with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | UserId|Guid|2|false||System user unique identifier. 13 | Columns|String[]|3|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmUser [[-XrmClient] ] [[-UserId] ] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmUserBusinessUnit.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmUserBusinessUnit` 2 | 3 | ## Description 4 | 5 | **Retrieve user business unit.** : Get user parent business unit. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | UserId|Guid|2|true||System user unique identifier. 13 | Columns|String[]|3|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmUserBusinessUnit [[-XrmClient] ] [-UserId] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmUserRoles.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmUserRoles` 2 | 3 | ## Description 4 | 5 | **Retrieve user assigned security roles.** : Get security roles associated to given user. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | UserId|Guid|2|true||System user unique identifier. 13 | Columns|String[]|3|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmUserRoles [[-XrmClient] ] [-UserId] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmUsers.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmUsers` 2 | 3 | ## Description 4 | 5 | **Retrieve users.** : Get all system users from instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("fullname", "internalemailaddress")|Specify expected columns to retrieve. (Default : all columns) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmUsers [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmUsersRoles.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmUsersRoles` 2 | 3 | ## Description 4 | 5 | **Retrieve assigned security roles for all users.** : Get all users with associated roles. This could help to determine unused roles or bad configurations. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@("fullname", "internalemailaddress")|Specify expected columns to retrieve. (Default : all columns) 13 | Query|QueryBase|3|false||Query used to select user records. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmUsersRoles [[-XrmClient] ] [[-Columns] ] [[-Query] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmViews.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmViews` 2 | 3 | ## Description 4 | 5 | **Retrieve savedquery records.** : Get all saved query according to entity name and predefined columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | EntityLogicalName|String|2|true|| 13 | Columns|String[]|3|false|@("*")|Specify expected columns to retrieve. (Default : all columns) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Get-XrmViews [[-XrmClient] ] [-EntityLogicalName] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Get-XrmWorkflows.md: -------------------------------------------------------------------------------- 1 | # Command : `Get-XrmWorkflows` 2 | 3 | ## Description 4 | 5 | **Retrieve workflows.** : Get workflows with expected columns. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Columns|String[]|2|false|@( "name", "category", "primaryentity", "uniquename", "statecode", "statuscode")|Specify expected columns to retrieve. (Default : "name", "category", "primaryentity", "uniquename", "statecode", "statuscode") 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Get-XrmWorkflows [[-XrmClient] ] [[-Columns] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Import-XrmConnection.md: -------------------------------------------------------------------------------- 1 | # Command : `Import-XrmConnection` 2 | 3 | ## Description 4 | 5 | **Import XrmToolBox connection from file.** : Populate XrmToolbox connection object from XML file. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | FilePath|String|1|true|| 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Import-XrmConnection [-FilePath] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Invoke-XrmBulkRequest.md: -------------------------------------------------------------------------------- 1 | # Command : `Invoke-XrmBulkRequest` 2 | 3 | ## Description 4 | 5 | **Execute Multiple Organization Request.** : Send requests to Microsoft Dataverse for bulk execution. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Requests|OrganizationRequest[]|2|true||Array of organization requests to execute. 13 | ContinueOnError|Boolean|3|false|False|Indicates wether to continue or stop execution if an error occured. (Default: false = Continue) 14 | ReturnResponses|Boolean|4|false|False|Indicates if response are collected for each request execution. (Default: false = No response) 15 | 16 | ## Outputs 17 | Microsoft.Xrm.Sdk.OrganizationResponse 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Invoke-XrmBulkRequest [[-XrmClient] ] [-Requests] [[-ContinueOnError] ] [[-ReturnResponses] ] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/Invoke-XrmBulkRequests.md: -------------------------------------------------------------------------------- 1 | # Command : `Invoke-XrmBulkRequests` 2 | 3 | ## Description 4 | 5 | **Split and Execute Multiple Organization Requests.** : Send requests to Microsoft Dataverse for bulk execution. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Requests|OrganizationRequest[]|2|true||Array of organization requests to execute. 13 | BatchSize|Int32|3|false|500| 14 | ContinueOnError|Boolean|4|false|False|Indicates wether to continue or stop execution if an error occured. (Default: false = Continue) 15 | ReturnResponses|Boolean|5|false|False|Indicates if response are collected for each request execution. (Default: false = No response) 16 | Quiet|SwitchParameter|named|false|False| 17 | 18 | ## Outputs 19 | Microsoft.Xrm.Sdk.OrganizationResponse 20 | 21 | ## Usage 22 | 23 | ```Powershell 24 | Invoke-XrmBulkRequests [[-XrmClient] ] [-Requests] [[-BatchSize] ] [[-ContinueOnError] ] [[-ReturnResponses] ] [-Quiet] [] 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/commands/Invoke-XrmRequest.md: -------------------------------------------------------------------------------- 1 | # Command : `Invoke-XrmRequest` 2 | 3 | ## Description 4 | 5 | **Execute Organization Request.** : Send request to Microsoft Dataverse for execution. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Request|OrganizationRequest|2|true||Organization request to execute. 13 | Async|SwitchParameter|named|false|False|Indicates if request should be run in background. Request must supports asynchronous execution. (Default: false = run synchronously) 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.OrganizationResponse 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Invoke-XrmRequest [[-XrmClient] ] [-Request] [-Async] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Invoke-XrmSqlCommand.md: -------------------------------------------------------------------------------- 1 | # Command : `Invoke-XrmSqlCommand` 2 | 3 | ## Description 4 | 5 | **Connect to TDS endpoint.** : Specify connection parameters to run SQL commands thru TDS Endpoint. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | Command|String|2|true||SQL Statement 13 | IgnoreDbNull|SwitchParameter|named|false|False| 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Invoke-XrmSqlCommand [[-XrmClient] ] [-Command] [-IgnoreDbNull] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Join-XrmRecords.md: -------------------------------------------------------------------------------- 1 | # Command : `Join-XrmRecords` 2 | 3 | ## Description 4 | 5 | **Associate records in Dataverse.** : Add a link between 1 row (Entity record) and multiple rows in Microsoft Dataverse. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | RecordReference|EntityReference|2|true|| 13 | RecordReferences|EntityReference[]|3|true||Rows / Records references to link to Record. (EntityReference array) 14 | RelationShipName|String|4|true||RelationShip Logical name involve between these records. 15 | RelationShipRole|EntityRole|5|false|Referencing| 16 | IgnoreExistings|Boolean|6|false|True|Prevent exceptions if record associations already exist (error => Cannot insert duplicate key). 17 | 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Join-XrmRecords [[-XrmClient] ] [-RecordReference] [-RecordReferences] [-RelationShipName] [[-RelationShipRole] {Referencing | Referenced}] [[-IgnoreExistings] ] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmClient.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmClient` 2 | 3 | ## Description 4 | 5 | **Initialize CrmServiceClient instance.** : Create a new connection to Microsoft Dataverse with a connectionstring. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ConnectionString|String|1|false||Connection String to Microsoft Dataverse instance (https://docs.microsoft.com/fr-fr/powerapps/developer/common-data-service/xrm-tooling/use-connection-strings-xrm-tooling-connect) 12 | MaxCrmConnectionTimeOutMinutes|Int32|2|false|2|Specify timeout duration in minutes. 13 | IsEncrypted|Boolean|3|false|False|Specify if password or secret are encrypted. 14 | Quiet|SwitchParameter|named|false|False| 15 | 16 | ## Outputs 17 | Microsoft.PowerPlatform.Dataverse.Client.ServiceClient. Microsoft Dataverse connector. 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | New-XrmClient [[-ConnectionString] ] [[-MaxCrmConnectionTimeOutMinutes] ] [[-IsEncrypted] ] [-Quiet] [] 23 | ``` 24 | 25 | ## Examples 26 | 27 | ```Powershell 28 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 29 | ``` 30 | 31 | ## More informations 32 | 33 | https://github.com/AymericM78/PowerDataOps/blob/main/documentation/usage.md 34 | 35 | 36 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmConnection.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmConnection` 2 | 3 | ## Description 4 | 5 | **Initialize new object that represent a Dataverse Connection.** : 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ConnectionString|String|1|false|| 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | New-XrmConnection [[-ConnectionString] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmContext.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmContext` 2 | 3 | ## Description 4 | 5 | **Initialize new object that represent a Xrm Context.** : Core module cmdlet that create new object to store context information. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | ConnectionString|String|2|false|| 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | New-XrmContext [[-XrmClient] ] [[-ConnectionString] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmDevOpsSettings.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmDevOpsSettings` 2 | 3 | ## Description 4 | 5 | **Initialize new object that represent a DevOps Connection settings.** : Core module cmdlet that create new object to store Azure DevOps information. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | 12 | 13 | ## Usage 14 | 15 | ```Powershell 16 | New-XrmDevOpsSettings [] 17 | ``` 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmEntity.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmEntity` 2 | 3 | ## Description 4 | 5 | **Initialize Entity object instance.** : Create a new Microsoft Dataverse Entity object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | LogicalName|String|1|true||Table / Entity logical name. 12 | Id|Guid|2|false||Record unique identifier. 13 | Attributes|Hashtable|3|false||Attributes array (Key value pair: logicalname = value). 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.Entity 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | New-XrmEntity [-LogicalName] [[-Id] ] [[-Attributes] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmEntityCollection.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmEntityCollection` 2 | 3 | ## Description 4 | 5 | **Initialize EntityCollection object instance.** : Get new Entity Collection object from entities array. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Entities|Entity[]|1|true||Entities array. 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.EntityCollection 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmEntityCollection [-Entities] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmEntityReference.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmEntityReference` 2 | 3 | ## Description 4 | 5 | **Initialize EntityReference object instance.** : Get new EntityReference object from lookup information. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | LogicalName|String|1|true||Table / Entity logical name. 12 | Key|String|2|false||Lookup to alternate key name. 13 | Value|Object|3|true||Key value. 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.EntityReference 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | New-XrmEntityReference [-LogicalName] [[-Key] ] [-Value] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmFetchExpression.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmFetchExpression` 2 | 3 | ## Description 4 | 5 | **Return a fetch expression from fetch xml** : Initialize new fetch expression object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | FetchXml|String|1|true||FetchXML query string. 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.Query.FetchExpression 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmFetchExpression [-FetchXml] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Initialize new object that represent a Xrm Instance.** : 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | 12 | 13 | ## Usage 14 | 15 | ```Powershell 16 | New-XrmInstance [] 17 | ``` 18 | 19 | 20 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmMoney.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmMoney` 2 | 3 | ## Description 4 | 5 | **Initialize Money object instance.** : Get new money object from given decimal value. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Value|Decimal|1|true|0|Decimal value. 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.Money 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmMoney [-Value] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmOptionSetValue.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmOptionSetValue` 2 | 3 | ## Description 4 | 5 | **Initialize OptionSetValue object instance.** : Get new OptionSetValue object from given int value. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Value|Int32|1|true|0|Option integer value. 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.OptionSetValue 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmOptionSetValue [-Value] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmOptionSetValues.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmOptionSetValues` 2 | 3 | ## Description 4 | 5 | **Initialize OptionSetValueCollection object instance.** : Get new OptionSetValueCollection object from given int value array. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Values|Int32[]|1|true|| 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.OptionSetValueCollection 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmOptionSetValues [-Values] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmQueryExpression.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmQueryExpression` 2 | 3 | ## Description 4 | 5 | **Return QueryExpression object instance.** : Initialize new query expression object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | LogicalName|String|1|true||Gets or sets the entity name for the condition. 12 | Columns|String[]|2|false||Gets or sets the columns to return in the query results. 13 | TopCount|Int32|3|false|1000|Gets or sets the number of rows to be returned. 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.Query.QueryExpression 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | New-XrmQueryExpression [-LogicalName] [[-Columns] ] [[-TopCount] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/New-XrmRequest.md: -------------------------------------------------------------------------------- 1 | # Command : `New-XrmRequest` 2 | 3 | ## Description 4 | 5 | **Initialize Request object instance.** : Get a new Organization Request object instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Name|String|1|true||Request name. (Microsoft Dataverse Web Api Function) 12 | 13 | ## Outputs 14 | Microsoft.Xrm.Sdk.OrganizationRequest 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | New-XrmRequest [-Name] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Out-XrmClient.md: -------------------------------------------------------------------------------- 1 | # Command : `Out-XrmClient` 2 | 3 | ## Description 4 | 5 | **Initialize CrmserviceClient instance from instance object.** : Create a new connection to Microsoft Dataverse from instance object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmInstance|Object|1|true|| 12 | 13 | ## Outputs 14 | Microsoft.PowerPlatform.Dataverse.Client.ServiceClient. Microsoft Dataverse connector. 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Out-XrmClient [-XrmInstance] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Out-XrmConnectionString.md: -------------------------------------------------------------------------------- 1 | # Command : `Out-XrmConnectionString` 2 | 3 | ## Description 4 | 5 | **Build Connection String from instance object.** : Output connection string from given Microsoft Dataverse instance object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmInstance|Object|1|true||Microsoft Dataverse instance object. 12 | 13 | ## Outputs 14 | System.String 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Out-XrmConnectionString [-XrmInstance] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Out-XrmConnectionStringParameter.md: -------------------------------------------------------------------------------- 1 | # Command : `Out-XrmConnectionStringParameter` 2 | 3 | ## Description 4 | 5 | **Extract parameter value from connectionstring.** : Output connection string parameter value. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ConnectionString|String|1|true||Connection string. 12 | ParameterName|String|2|true||Parameter name. 13 | RaiseErrorIfMising|SwitchParameter|named|false|False|If parameter is not found, throw an exception. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Out-XrmConnectionStringParameter [-ConnectionString] [-ParameterName] [-RaiseErrorIfMising] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Protect-XrmCommand.md: -------------------------------------------------------------------------------- 1 | # Command : `Protect-XrmCommand` 2 | 3 | ## Description 4 | 5 | **Protect command from API Limit issues.** : This cmdlet provide a core method for all API calls to Microsoft Dataverse. 6 | The aim is to provide a retry pattern to prevent technical issues as API Limits or network connectivity 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | ScriptBlock|ScriptBlock|1|true||Command to run against Microsoft Dataverse API. 13 | Maximum|Int32|2|false|0|Maximum tries below raising an error. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Protect-XrmCommand [-ScriptBlock] [[-Maximum] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Publish-XrmCustomizations.md: -------------------------------------------------------------------------------- 1 | # Command : `Publish-XrmCustomizations` 2 | 3 | ## Description 4 | 5 | **Publish customizations.** : Apply unpublished customizations to active layer to promote UI changes. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | ParameterXml|String|2|false|| 13 | TimeOutInMinutes|Int32|3|false|5|Specify timeout duration in minute. (Default : 5 min) 14 | Async|Boolean|4|false|True| 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Publish-XrmCustomizations [[-XrmClient] ] [[-ParameterXml] ] [[-TimeOutInMinutes] ] [[-Async] ] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Publish-XrmTheme.md: -------------------------------------------------------------------------------- 1 | # Command : `Publish-XrmTheme` 2 | 3 | ## Description 4 | 5 | **Publish theme.** : Apply theme to target instance 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Name|String|2|true|| 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Publish-XrmTheme [[-XrmClient] ] [-Name] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Read-XrmExcelSheet.md: -------------------------------------------------------------------------------- 1 | # Command : `Read-XrmExcelSheet` 2 | 3 | ## Description 4 | 5 | **Read Excel Sheet.** : Get Excel content from given sheet as bi-dimensional array. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ExcelFilePath|String|1|true||Full path to Excel file. 12 | SheetName|String|2|true||Excel sheet name. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Read-XrmExcelSheet [-ExcelFilePath] [-SheetName] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Remove-XrmActiveCustomizations.md: -------------------------------------------------------------------------------- 1 | # Command : `Remove-XrmActiveCustomizations` 2 | 3 | ## Description 4 | 5 | **Remove active customizations.** : Performs a cleaning on Active Layer to remove unmanaged customizations for given component. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionComponentName|String|2|true|| 13 | ComponentId|Guid|3|true||Solution component unique identifier to clean. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Remove-XrmActiveCustomizations [[-XrmClient] ] [-SolutionComponentName] [-ComponentId] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Remove-XrmLanguagePack.md: -------------------------------------------------------------------------------- 1 | # Command : `Remove-XrmLanguagePack` 2 | 3 | ## Description 4 | 5 | **Desactivate given language** : Uninstall specify language pack from target instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Language|Int32|2|true|0|Language name LCID (English = 1033, French = 1036, ...) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Remove-XrmLanguagePack [[-XrmClient] ] [-Language] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Remove-XrmPluginsFromAssembly.md: -------------------------------------------------------------------------------- 1 | # Command : `Remove-XrmPluginsFromAssembly` 2 | 3 | ## Description 4 | 5 | **Remove Plugins Steps and Types From Assembly.** : Uninstall all steps and types from plugin assembly. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | AssemblyName|String|2|false|Plugins|Name of assembly where plugin will be removed. (Default : Plugins) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Remove-XrmPluginsFromAssembly [[-XrmClient] ] [[-AssemblyName] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Remove-XrmRecord.md: -------------------------------------------------------------------------------- 1 | # Command : `Remove-XrmRecord` 2 | 3 | ## Description 4 | 5 | **Remove record from Microsoft Dataverse.** : Delete row (entity record) from Microsoft Dataverse table by logicalname + id or by Entity object. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Record|Entity|2|false||Record (row) to delete. 13 | LogicalName|String|3|false||Table / Entity logical name.. 14 | Id|Guid|4|false||Row (entity record) unique identifier 15 | BypassCustomPluginExecution|SwitchParameter|named|false|False|Specify wether involved plugins should be triggered or not during this operation. (Default: False) 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Remove-XrmRecord [[-XrmClient] ] [[-Record] ] [[-LogicalName] ] [[-Id] ] [-BypassCustomPluginExecution] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Remove-XrmUserRoles.md: -------------------------------------------------------------------------------- 1 | # Command : `Remove-XrmUserRoles` 2 | 3 | ## Description 4 | 5 | **Remove security roles to user.** : Unassign one or multiple roles to given user. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | UserReference|EntityReference|2|true|| 13 | Roles|Guid[]|3|true|@()|Roles unique identifier array to add. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Remove-XrmUserRoles [[-XrmClient] ] [-UserReference] [-Roles] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Restore-XrmInstance.md: -------------------------------------------------------------------------------- 1 | # Command : `Restore-XrmInstance` 2 | 3 | ## Description 4 | 5 | **Restore instance at given time.** : Restore a backup of given instance to itself or another instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | SourceInstanceDomainName|String|1|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) that you want to restore 12 | TargetInstanceDomainName|String|2|false|| 13 | TargetInstanceNewDisplayName|String|3|false|| 14 | TargetInstanceSecurityGroupId|Guid|4|false||AAD Security Group ID to define on target instance to restrict users access 15 | RestoreTimeUtc|DateTime|5|false||Date time in UTC of restore point 16 | BackupLabel|String|6|false||Name of the backup 17 | 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Restore-XrmInstance [-SourceInstanceDomainName] [[-TargetInstanceDomainName] ] [[-TargetInstanceNewDisplayName] ] [[-TargetInstanceSecurityGroupId] ] [[-RestoreTimeUtc] ] [[-BackupLabel] ] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/Select-XrmSolutions.md: -------------------------------------------------------------------------------- 1 | # Command : `Select-XrmSolutions` 2 | 3 | ## Description 4 | 5 | **Display solutions selector.** : Open gridview view all solutions and select one or many. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | OutputMode|OutputModeOption|2|false|Single|Specify if selector should allow single or multiple items selection. (Default : Single) 13 | Columns|String[]|3|false|@("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby")|Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Select-XrmSolutions [[-XrmClient] ] [[-OutputMode] {None | Single | Multiple}] [[-Columns] ] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmAttributeValue.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmAttributeValue` 2 | 3 | ## Description 4 | 5 | **Set entity attribute value.** : Add or update attribute value. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Record|Entity|1|true||Entity record / table row (Entity). 12 | Name|String|2|true||Attribute (Column) name. 13 | Value|Object|3|false|| 14 | 15 | ## Outputs 16 | Microsoft.Xrm.Sdk.Entity 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Set-XrmAttributeValue [-Record] [-Name] [[-Value] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmClientTimeout.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmClientTimeout` 2 | 3 | ## Description 4 | 5 | **Specify CrmserviceClient timeout.** : Extend default CrmserviceClient timeout. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Revert|SwitchParameter|named|false|False|Restore default timeout value. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Set-XrmClientTimeout [[-XrmClient] ] [-Revert] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmCredentials.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmCredentials` 2 | 3 | ## Description 4 | 5 | **Initialize PSCredential object.** : Create PSCredential from given login and password. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Login|String|1|true||Username. 12 | Password|String|2|true||Password value in plain text. 13 | 14 | ## Outputs 15 | System.Management.Automation.PSCredential 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Set-XrmCredentials [-Login] [-Password] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmInstanceMode.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmInstanceMode` 2 | 3 | ## Description 4 | 5 | **Enable or disable admin mode on given instance** : Administration mode will prevent users to access to instance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | InstanceDomainName|String|1|true||Instance domain name (myinstance => myinstance.crm.dynamics1.com) 12 | Mode|String|2|true||Admin mode (Normal : users can access / AdminOnly : Only admins can access) 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Set-XrmInstanceMode [-InstanceDomainName] [-Mode] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmOrganizationClientFeature.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmOrganizationClientFeature` 2 | 3 | ## Description 4 | 5 | **Set Organization Client Feature.** : Define specific client feature for default organization (see : Get-XrmOrganization) 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | Name|String|2|true||Client feature name to set. 13 | Value|String|3|true||Client feature value to set. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Set-XrmOrganizationClientFeature [[-XrmClient] ] [-Name] [-Value] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmOrganizationDbSetting.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmOrganizationDbSetting` 2 | 3 | ## Description 4 | 5 | **Set Organization setting.** : Add or update orgdbsetting value. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Name|String|2|true||Setting name to define. 13 | Value|String|3|true||Setting value to define. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Set-XrmOrganizationDbSetting [[-XrmClient] ] [-Name] [-Value] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmOrganizationFeature.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmOrganizationFeature` 2 | 3 | ## Description 4 | 5 | **Set Organization Feature.** : Define specific feature for default organization (see : Get-XrmOrganization) 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient| 12 | Name|String|2|true||Feature name to set. 13 | Value|String|3|true||Feature value to set. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Set-XrmOrganizationFeature [[-XrmClient] ] [-Name] [-Value] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmSolutionVersion.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmSolutionVersion` 2 | 3 | ## Description 4 | 5 | **Set solution version.** : Update specified solution by its uniquename with given version number. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Solution unique name to update. 13 | Version|String|3|true||Version number to set. 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Set-XrmSolutionVersion [[-XrmClient] ] [-SolutionUniqueName] [-Version] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmSolutionsVersionBuild.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmSolutionsVersionBuild` 2 | 3 | ## Description 4 | 5 | **Run build action to upgrade solutions versions** : This cmdlet is designed to be fully intergrated in Az DevOps pipeline. 6 | This cmdlet update solution version number. 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | ConnectionString|String|1|false|$env:CONNECTIONSTRING|Target instance connection string, use variable 'ConnectionString' from associated variable group. 13 | BuildId|String|2|false|$env:BUILD_BUILDID|Unique ID for current build. (Default : Azure DevOps BuildId variable) 14 | Version|String|3|false|$env:VERSION|Version number format. Use variable 'Version' from associated variable group. 15 | And replace 'X' by BuildId or DateTime format (like 'yyyy.MM.dd.hh' by '2021.02.28.17'). 16 | Solutions|String|4|false|$env:SOLUTIONS|Solution uniquenames to update, use variable 'Solutions' from associated variable group. 17 | 18 | 19 | ## Usage 20 | 21 | ```Powershell 22 | Set-XrmSolutionsVersionBuild [[-ConnectionString] ] [[-BuildId] ] [[-Version] ] [[-Solutions] ] [] 23 | ``` 24 | 25 | 26 | -------------------------------------------------------------------------------- /documentation/commands/Set-XrmThemeColor.md: -------------------------------------------------------------------------------- 1 | # Command : `Set-XrmThemeColor` 2 | 3 | ## Description 4 | 5 | **Change theme color.** : Set theme accent color. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Name|String|2|true|| 13 | LabelAndLinkColor|String|3|true|| 14 | BackgroundColor|String|4|true|| 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Set-XrmThemeColor [[-XrmClient] ] [-Name] [-LabelAndLinkColor] [-BackgroundColor] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Split-XrmCollection.md: -------------------------------------------------------------------------------- 1 | # Command : `Split-XrmCollection` 2 | 3 | ## Description 4 | 5 | **Split given collection into specified sized collections.** : Extract chunk collections from given one. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Collection|Object|1|false||Input array to split. 12 | Count|Int32|2|true|0|Target collections size. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Split-XrmCollection [[-Collection] ] [-Count] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Split-XrmRecords.md: -------------------------------------------------------------------------------- 1 | # Command : `Split-XrmRecords` 2 | 3 | ## Description 4 | 5 | **Disassociate records in Dataverse.** : Remove a link between 1 row (Entity record) and multiple rows in Microsoft Dataverse. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | RecordReference|EntityReference|2|true|| 13 | RecordReferences|EntityReference[]|3|true||Rows / Records references to split to Record. (EntityReference array) 14 | RelationShipName|String|4|true||RelationShip Logical name involve between these records. 15 | RelationShipRole|EntityRole|5|false|Referencing| 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Split-XrmRecords [[-XrmClient] ] [-RecordReference] [-RecordReferences] [-RelationShipName] [[-RelationShipRole] {Referencing | Referenced}] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Start-XrmSolutionUpgrade.md: -------------------------------------------------------------------------------- 1 | # Command : `Start-XrmSolutionUpgrade` 2 | 3 | ## Description 4 | 5 | **Start delete and promote operation for solution.** : Replace managed solution by new one after import. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | SolutionUniqueName|String|2|true||Solution unique name to upgrade. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Start-XrmSolutionUpgrade [[-XrmClient] ] [-SolutionUniqueName] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Sync-XrmWebResources.md: -------------------------------------------------------------------------------- 1 | # Command : `Sync-XrmWebResources` 2 | 3 | ## Description 4 | 5 | **Synchronize a webresource folder to Microsoft Dataverse.** : Create or update each webresource content based on local directory. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | FolderPath|String|2|true||Full path to directory where webresources are stored. 13 | SolutionUniqueName|String|3|true||Microsoft Dataverse solution unique name where to add new webressource. 14 | SynchronizationMode|String|4|false||Specify synchronization pattern : full or delta. 15 | Full will update all webresources. 16 | Delta will only update changed webresource based on SynchronizationDeltaHours parameter. 17 | SynchronizationDeltaHours|Int32|5|false|4|Use this parameter with SynchronizationMode = Delta, take local files modified during last x hours. (Default : 4 hours) 18 | SupportedExtensions|String[]|6|false|@("*.htm", "*.html", "*.css", "*.js", "*.xml", "*.png", "*.jpg", "*.jpeg", "*.gif", "*.xap", "*.xsl", "*.ico", "*.svg", "*.resx")|Specify file extensions to handle in synchronization process. (Default : htm, html, css, js, xml, png, jpg, jpeg, gif, xap, xsl, ico, svg, resx) 19 | 20 | 21 | ## Usage 22 | 23 | ```Powershell 24 | Sync-XrmWebResources [[-XrmClient] ] [-FolderPath] [-SolutionUniqueName] [[-SynchronizationMode] ] [[-SynchronizationDeltaHours] ] [[-SupportedExtensions] ] [] 25 | ``` 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/commands/Trace-XrmFunction.md: -------------------------------------------------------------------------------- 1 | # Command : `Trace-XrmFunction` 2 | 3 | ## Description 4 | 5 | **Output verbose information about function call.** : Core module method to trace information and measure calls performance. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | Name|String|1|true||Called function name. 12 | Stage|String|2|true||Indicate when tracung is called from function : Start or Stop. 13 | Parameters|Object[]|3|false||List of arguments provided to function. 14 | StopWatch|Stopwatch|4|false||StopWath object initialized during first function call in order to measure overall duration. 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Trace-XrmFunction [-Name] [-Stage] [[-Parameters] ] [[-StopWatch] ] [] 21 | ``` 22 | 23 | 24 | -------------------------------------------------------------------------------- /documentation/commands/Update-XrmRecord.md: -------------------------------------------------------------------------------- 1 | # Command : `Update-XrmRecord` 2 | 3 | ## Description 4 | 5 | **Update entity record in Microsoft Dataverse.** : Update row (entity record) from Microsoft Dataverse table. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Record|Entity|2|true||Record (row) to update. 13 | BypassCustomPluginExecution|SwitchParameter|named|false|False|Specify wether involved plugins should be triggered or not during this operation. (Default: False) 14 | 15 | 16 | ## Usage 17 | 18 | ```Powershell 19 | Update-XrmRecord [[-XrmClient] ] [-Record] [-BypassCustomPluginExecution] [] 20 | ``` 21 | 22 | 23 | -------------------------------------------------------------------------------- /documentation/commands/Update-XrmRecordFileUpload.md: -------------------------------------------------------------------------------- 1 | # Command : `Update-XrmRecordFileUpload` 2 | 3 | ## Description 4 | 5 | **Upload a file to an entity record's file attribute field in Microsoft Dataverse.** : Upload a file to a date row's (entity record's) file field from Microsoft Dataverse table. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Record|Entity|2|true||Record (row) to update. 13 | FileAttributeLogicalName|String|3|true||Entity file attribute name. 14 | FilePath|String|4|true||Path to file on the OS file system. 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Update-XrmRecordFileUpload [[-XrmClient] ] [-Record] [-FileAttributeLogicalName] [-FilePath] [] 21 | ``` 22 | 23 | ## Examples 24 | 25 | ```Powershell 26 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 27 | # Create a new record that has a File attribute with the logical name: new_document 28 | $entityRecord = New-XrmEntity -LogicalName "new_DocumentStore" -Attributes @{ 29 | "name" = "file1"; 30 | } 31 | $entityRecord.Id = Add-XrmRecord -Record $entityRecord 32 | Update-XrmRecordFileUpload -XrmClient $XrmClient -Record $entityRecord -FileAttributeLogicalName "new_document" -FilePath 'C:\temp\test.docx' 33 | ``` 34 | 35 | 36 | -------------------------------------------------------------------------------- /documentation/commands/Upsert-XrmAssembly.md: -------------------------------------------------------------------------------- 1 | # Command : `Upsert-XrmAssembly` 2 | 3 | ## Description 4 | 5 | **Create or update plugin / workflow assembly.** : Add new or update existing assembly content from local dll file. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | AssemblyPath|String|2|true||Full file path to dll. 13 | SolutionUniqueName|String|3|false||Microsoft Dataverse solution unique name where to add new assembly. 14 | IsolationMode|Int32|4|false|2|Specify if assembly will be deploy in sandbox or not. (Default = 2 | 1 = Not sandboxed, 2 = Sandbox) 15 | SourceType|Int32|5|false|0|Specify where assembly will be stored. (Default = 0 | 0 = Database, 1 = Disk, 2 = Normal (OnPremise), 3 = AzureWebApp) 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Upsert-XrmAssembly [[-XrmClient] ] [-AssemblyPath] [[-SolutionUniqueName] ] [[-IsolationMode] ] [[-SourceType] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Upsert-XrmRecord.md: -------------------------------------------------------------------------------- 1 | # Command : `Upsert-XrmRecord` 2 | 3 | ## Description 4 | 5 | **Upsert entity record in Dataverse.** : Upsert row (entity record) from Microsoft Dataverse table. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | Record|Entity|2|true||Record (row) to Upsert. 13 | BypassCustomPluginExecution|SwitchParameter|named|false|False|Specify wether involved plugins should be triggered or not during this operation. (Default: False) 14 | 15 | ## Outputs 16 | System.Guid 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Upsert-XrmRecord [[-XrmClient] ] [-Record] [-BypassCustomPluginExecution] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Upsert-XrmWebResource.md: -------------------------------------------------------------------------------- 1 | # Command : `Upsert-XrmWebResource` 2 | 3 | ## Description 4 | 5 | **Create or update webresource.** : Check if webresource exists or not. If not exists create it and add it to specified solution. 6 | If webresource exists, compare content and update it if different. 7 | 8 | ## Inputs 9 | 10 | Name|Type|Position|Required|Default|Description 11 | ----|----|--------|--------|-------|----------- 12 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 13 | FilePath|String|2|true||Local webresource file path. 14 | SolutionUniqueName|String|3|true||Microsoft Dataverse solution unique name where to add new webressource. 15 | Prefix|String|4|false||Publisher customization prefix for newly created webresource. 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Upsert-XrmWebResource [[-XrmClient] ] [-FilePath] [-SolutionUniqueName] [[-Prefix] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Watch-XrmAsynchOperation.md: -------------------------------------------------------------------------------- 1 | # Command : `Watch-XrmAsynchOperation` 2 | 3 | ## Description 4 | 5 | **Monitor async operation completion.** : Poll status from asynchoperation id until its done. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | AsyncOperationId|Guid|2|true||System job unique identifier. 13 | PollingIntervalSeconds|Int32|3|false|5|Delay between each status check. 14 | ScriptBlock|ScriptBlock|4|false||Command to execute during each poll with asyncoperation info. 15 | TimeoutInMinutes|Int32|5|false|60| 16 | 17 | 18 | ## Usage 19 | 20 | ```Powershell 21 | Watch-XrmAsynchOperation [[-XrmClient] ] [-AsyncOperationId] [[-PollingIntervalSeconds] ] [[-ScriptBlock] ] [[-TimeoutInMinutes] ] [] 22 | ``` 23 | 24 | 25 | -------------------------------------------------------------------------------- /documentation/commands/Watch-XrmCurrentSolutionImport.md: -------------------------------------------------------------------------------- 1 | # Command : `Watch-XrmCurrentSolutionImport` 2 | 3 | ## Description 4 | 5 | **Monitor current solution import.** : Poll latest solution import status until its done and display progress. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | XrmClient|ServiceClient|1|false|$Global:XrmClient|Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 12 | 13 | 14 | ## Usage 15 | 16 | ```Powershell 17 | Watch-XrmCurrentSolutionImport [[-XrmClient] ] [] 18 | ``` 19 | 20 | 21 | -------------------------------------------------------------------------------- /documentation/commands/Watch-XrmOperation.md: -------------------------------------------------------------------------------- 1 | # Command : `Watch-XrmOperation` 2 | 3 | ## Description 4 | 5 | **Monitor operation completion.** : Poll operation status from given url until its done. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | OperationUrl|String|1|true||Operation Url provided when admin operation is invoked. 12 | PollingIntervalSeconds|Int32|2|false|5|Delay between each status check. 13 | 14 | 15 | ## Usage 16 | 17 | ```Powershell 18 | Watch-XrmOperation [-OperationUrl] [[-PollingIntervalSeconds] ] [] 19 | ``` 20 | 21 | 22 | -------------------------------------------------------------------------------- /documentation/commands/Write-XrmExcelSheet.md: -------------------------------------------------------------------------------- 1 | # Command : `Write-XrmExcelSheet` 2 | 3 | ## Description 4 | 5 | **Write Excel Sheet.** : Push Microsoft Dataverse rows / entity records to Excel file on a specific sheet. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | ExcelFilePath|String|1|true||Full path to Excel file. 12 | SheetName|String|2|true||Excel sheet name. 13 | Records|PSObject[]|3|true||Rows / Entity records array. 14 | HeaderMappings|OrderedDictionary|4|true||Key value pair collection that map Excel column name to record column (attribute logicalname) 15 | ColumnsSize|Int32[]|5|false|@()|Array that specify columns width. 16 | TableStyle|String|6|false|TableStyleMedium15|Specify table template name. (Default: TableStyleMedium15) 17 | More information : https://docs.devexpress.com/OfficeFileAPI/DevExpress.Spreadsheet.BuiltInTableStyleId 18 | 19 | 20 | ## Usage 21 | 22 | ```Powershell 23 | Write-XrmExcelSheet [-ExcelFilePath] [-SheetName] [-Records] [-HeaderMappings] [[-ColumnsSize] ] [[-TableStyle] ] [] 24 | ``` 25 | 26 | 27 | -------------------------------------------------------------------------------- /documentation/commands/Write-XrmMessageToSlack.md: -------------------------------------------------------------------------------- 1 | # Command : `Write-XrmMessageToSlack` 2 | 3 | ## Description 4 | 5 | **Push message to slack** : Use Slack webhook to send current message in target channel. 6 | 7 | ## Inputs 8 | 9 | Name|Type|Position|Required|Default|Description 10 | ----|----|--------|--------|-------|----------- 11 | SlackUrl|String|1|false|$env:SLACKURL|Url to Slack webhook. 12 | BotName|String|2|false|DevOps|User name for message sender. 13 | Message|String|3|true||Message to send. 14 | Emoji|String|4|false||Emoji to use as the icon for this message. 15 | 16 | 17 | ## Usage 18 | 19 | ```Powershell 20 | Write-XrmMessageToSlack [[-SlackUrl] ] [[-BotName] ] [-Message] [[-Emoji] ] [] 21 | ``` 22 | 23 | ## More informations 24 | 25 | https://api.slack.com/methods/chat.postMessage 26 | 27 | 28 | -------------------------------------------------------------------------------- /documentation/samples/Browser Profile configuration.md: -------------------------------------------------------------------------------- 1 | # Browser profile configuration with `PowerDataOps` Module 2 | 3 | ## Context 4 | 5 | If you work with multiple tenant, it could be painfull to access your different environnements without using dedicated profile for each tenant. 6 | Then if you have multiple profiles to maintain, you need to apply the same configuration (like extensions), and maintain your favorites. 7 | `PowerDataOps` Module contains a dedicated cmdlet for Chrome / Edge profile configuration => `Export-XrmConnectionToBrowser`. 8 | 9 | This cmdlet apply the following operations: 10 | 11 | - Provision new browser profile if not exists. 12 | - Create specific shortcut and put it in specified folder. 13 | - Show favorite bar by default for a quick access to favorites. 14 | - Install 'Level Up' and 'Power Pane' extensions 15 | - Add all Power Plateform favorites like O365 Admin, Power Apps Maker, Power Automate, ... 16 | - Retrieve and add all Model-Driven apps links from each environment. 17 | 18 | ## Overview 19 | 20 | This sample show how to : 21 | 22 | - Connect to Microsoft Dataverse 23 | - Create browser profile with expected configuration (see above for configuration details) 24 | 25 | ## Sample code 26 | 27 | ```Powershell 28 | 29 | Import-Module PowerDataOps 30 | 31 | # Initialize connection 32 | Connect-XrmUser -AuthType Office365 -UserName "user@contoso.fake" -Password "MyPass123" 33 | # If you have admin rights you can also use 34 | # Connect-XrmAdmin -UserName "user@contoso.fake" -Password "MyPass123" 35 | 36 | # Push connection data to XrmToolBox 37 | Export-XrmConnectionToBrowser -ProfileName "Contoso" -IsChrome $true -BrowserShortCutsPath "C:\Users\contoso\Desktop\"; 38 | 39 | ``` 40 | -------------------------------------------------------------------------------- /documentation/samples/Working with solutions.md: -------------------------------------------------------------------------------- 1 | # Playing with solutions thanks to `PowerDataOps` Module 2 | 3 | ## Overview 4 | 5 | This sample show how to : 6 | 7 | - Connect to Microsoft Dataverse 8 | - Retrieve a solution record (row) with its uniquename 9 | - Increase version number 10 | - Export in managed 11 | 12 | ## Sample code 13 | 14 | ```Powershell 15 | 16 | Import-Module PowerDataOps 17 | 18 | # Script parameters : must be 'your' values 19 | $mySolutionUniqueName = "MyFantasticSolution"; 20 | $url = "https://contoso.crm12.dynamics.com"; 21 | $clientId = "c6511040-5c20-4649-854e-dd78edfea759"; 22 | $clientSecret = "ds515sqd15d1q"; 23 | 24 | # Initialize connection 25 | $connectionString = "AuthType=ClientSecret;Url=$url;ClientId=$clientId;ClientSecret=$clientSecret;" 26 | $xrmClient = New-XrmClient -ConnectionString $connectionString; 27 | 28 | # Retrieve solution record 29 | $solution = Get-XrmRecord -LogicalName "solution" -AttributeName uniquename -Value $mySolutionUniqueName -Columns "*"; 30 | 31 | # Increase version 32 | $actualVersion = [version] $solution.version; 33 | $newVersion = "{0}.{1}.{2}.{3}" -f $actualVersion.Major, $actualVersion.Minor, $actualVersion.Build, $($actualVersion.Revision + 1) 34 | 35 | # Update solution record with new version 36 | $solutionUpdate = $solution.Record | Set-XrmAttributeValue -Name "version" -Value $newVersion ; 37 | $solutionUpdate | Update-XrmRecord; 38 | 39 | # Export solution as managed to local folder 40 | $solutionFilePath = Export-XrmSolution -SolutionUniqueName $mySolutionUniqueName -Managed $true -ExportPath $PSScriptRoot; 41 | 42 | ``` 43 | -------------------------------------------------------------------------------- /documentation/samples/XrmToolBox Connection Provisionning.md: -------------------------------------------------------------------------------- 1 | # Provision XrmToolBox connections with `PowerDataOps` Module 2 | 3 | ## Context 4 | 5 | Maintaining XrmToolBox connections could be painful if you work with mutiple tenants or complexe environment lifecycles. 6 | This sample highlight a simple way to automate this operation and keep accurate connections into your XrmToolBox. 7 | 8 | ## Overview 9 | 10 | This sample show how to : 11 | 12 | - Connect to Microsoft Dataverse 13 | - Discover instance and export them as a XrmToolBox connection file 14 | 15 | ## Sample code 16 | 17 | ```Powershell 18 | 19 | Import-Module PowerDataOps 20 | 21 | # Initialize connection 22 | Connect-XrmUser -AuthType Office365 -UserName "user@contoso.fake" -Password "MyPass123" 23 | # If you have admin rights you can also use 24 | # Connect-XrmAdmin -UserName "user@contoso.fake" -Password "MyPass123" 25 | 26 | # Push connection data to XrmToolBox 27 | Export-XrmConnectionToXrmToolBox -Name "Contoso" 28 | 29 | ``` 30 | -------------------------------------------------------------------------------- /documentation/usage.md: -------------------------------------------------------------------------------- 1 | # Use `PowerDataOps` Module 2 | 3 | Once [PowerDataOps module installation](https://github.com/AymericM78/PowerDataOps/blob/main/documentation/install.md) is done, you need to load module before use it. 4 | 5 | ## Load module 6 | 7 | ```powershell 8 | Import-Module PowerDataOps -DisableNameChecking 9 | ``` 10 | 11 | Adding parameter `-DisableNameChecking` hide unapproved verbs warning. 12 | 2 verbs are actually not approved but used in this module : `ForEach` and `Upsert` 13 | 14 | ### New-XrmClient 15 | 16 | This cmdlet initialize a CrmServiceClient object to interact with Microsoft Dataverse. 17 | You need to provide a connection string [`-ConnectionString`](https://docs.microsoft.com/fr-fr/powerapps/developer/data-platform/xrm-tooling/use-connection-strings-xrm-tooling-connect) 18 | 19 | ```powershell 20 | New-XrmClient -ConnectionString "AuthType=ClientSecret;url=https://contosotest.crm.dynamics.com;ClientId={AppId};ClientSecret={ClientSecret}" 21 | ``` 22 | 23 | New-XrmClient command will try to run Connect-XrmAdmin automatically. 24 | 25 | ### Connect-XrmAdmin 26 | 27 | This cmdlet authenticate admin user in order to manage environments with Microsoft.PowerApps.Administration.PowerShell module. 28 | Parameters are the same as [`Add-PowerAppsAccount`](https://docs.microsoft.com/en-us/powershell/module/microsoft.powerapps.administration.powershell/add-powerappsaccount?view=pa-ps-latest) 29 | 30 | ```powershell 31 | Connect-XrmAdmin -AuthType Office365 -UserName "user@contoso.fake" -Password "MyPass123" 32 | ``` 33 | 34 | ## Next steps 35 | 36 | - [Samples](https://github.com/AymericM78/PowerDataOps/tree/main/documentation/samples) 37 | -------------------------------------------------------------------------------- /src/Administration/Assert-XrmAdminConnected.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Check if current user has D365 / Dataverse admin role. 4 | 5 | .DESCRIPTION 6 | This command is done each time we need to run admin operation. 7 | This mean that we need to proceed to Connect-XrmAdmin before. 8 | #> 9 | function Assert-XrmAdminConnected { 10 | [CmdletBinding()] 11 | param 12 | ( 13 | ) 14 | begin { 15 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 16 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 17 | } 18 | process { 19 | 20 | if (-not $Global:XrmContext.IsAdminConnected) { 21 | throw "You are not connected as Admin! Please use Connect-XrmAdmin command before"; 22 | } 23 | } 24 | end { 25 | $StopWatch.Stop(); 26 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 27 | } 28 | } 29 | 30 | Export-ModuleMember -Function Assert-XrmAdminConnected -Alias *; -------------------------------------------------------------------------------- /src/Administration/Backup-XrmInstance.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Backup instance 4 | 5 | .DESCRIPTION 6 | Add a backup for given instance 7 | 8 | .PARAMETER InstanceDomainName 9 | Instance domain name (myinstance => myinstance.crm.dynamics1.com) 10 | 11 | .PARAMETER BackupLabel 12 | Name of the backup 13 | 14 | .PARAMETER BackupDescription 15 | Backup description 16 | #> 17 | function Backup-XrmInstance { 18 | [CmdletBinding()] 19 | param 20 | ( 21 | [Parameter(Mandatory, ValueFromPipeline)] 22 | [String] 23 | $InstanceDomainName, 24 | 25 | [Parameter(Mandatory = $true)] 26 | [String] 27 | $BackupLabel, 28 | 29 | [Parameter(Mandatory = $false)] 30 | [String] 31 | $BackupDescription 32 | ) 33 | begin { 34 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 35 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 36 | Assert-XrmAdminConnected; 37 | } 38 | process { 39 | $instance = Get-XrmInstance -Name $InstanceDomainName; 40 | $backupRequest = [pscustomobject]@{ 41 | Label = $BackupLabel 42 | Notes = $BackupDescription 43 | } 44 | 45 | Backup-PowerAppEnvironment -EnvironmentName $instance.Id -BackupRequestDefinition $backupRequest; 46 | } 47 | end { 48 | $StopWatch.Stop(); 49 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 50 | } 51 | } 52 | 53 | Export-ModuleMember -Function Backup-XrmInstance -Alias *; -------------------------------------------------------------------------------- /src/Administration/Get-XrmBackup.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve backup infos 4 | 5 | .DESCRIPTION 6 | Retrieve a backup from given instance 7 | 8 | .PARAMETER InstanceDomainName 9 | Instance domain name (myinstance => myinstance.crm.dynamics1.com) 10 | 11 | .PARAMETER BackupLabel 12 | Name of the backup 13 | #> 14 | function Get-XrmBackup { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $true)] 19 | [String] 20 | $InstanceDomainName, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [String] 24 | $BackupLabel 25 | ) 26 | begin { 27 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 28 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 29 | Assert-XrmAdminConnected; 30 | } 31 | process { 32 | $instance = Get-XrmInstance -Name $InstanceDomainName; 33 | 34 | $backupData = Get-PowerAppEnvironmentBackups -EnvironmentName $instance.Id; 35 | $backups = $backupData.value; 36 | 37 | if ($PSBoundParameters.ContainsKey('BackupLabel')) { 38 | $backup = $backups | Where-Object -Property "label" -EQ -Value $BackupLabel; 39 | $backup; 40 | } 41 | else { 42 | $backups; 43 | } 44 | } 45 | end { 46 | $StopWatch.Stop(); 47 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 48 | } 49 | } 50 | 51 | Export-ModuleMember -Function Get-XrmBackup -Alias *; -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Crm.Sdk.Proxy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Crm.Sdk.Proxy.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Caching.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Caching.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Caching.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Caching.Memory.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Http.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Identity.Client.Extensions.Msal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Identity.Client.Extensions.Msal.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.IdentityModel.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.IdentityModel.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.PowerPlatform.Dataverse.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.PowerPlatform.Dataverse.Client.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.VisualBasic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.VisualBasic.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Win32.SystemEvents.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Win32.SystemEvents.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Microsoft.Xrm.Sdk.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Microsoft.Xrm.Sdk.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Configuration.ConfigurationManager.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Configuration.ConfigurationManager.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Drawing.Common.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Formats.Asn1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Formats.Asn1.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Reflection.TypeExtensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Reflection.TypeExtensions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Runtime.Caching.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Runtime.Caching.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Security.AccessControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Security.AccessControl.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Security.Cryptography.Pkcs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Security.Cryptography.Pkcs.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Security.Cryptography.Xml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Security.Cryptography.Xml.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Security.Permissions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Security.Permissions.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.ServiceModel.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.ServiceModel.Http.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.ServiceModel.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.ServiceModel.Primitives.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Text.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Text.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/Core/System.Windows.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Core/System.Windows.Extensions.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/CrmSvcUtil.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/CrmSvcUtil.exe -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/LicenseTerms.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/LicenseTerms.docx -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.ApplicationInsights.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.ApplicationInsights.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Crm.Sdk.Proxy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Crm.Sdk.Proxy.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Deployment.Compression.Cab.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Deployment.Compression.Cab.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Deployment.Compression.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Deployment.Compression.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.IdentityModel.Clients.ActiveDirectory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.IdentityModel.Clients.ActiveDirectory.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.PowerPlatform.Tooling.BatchedTelemetry.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.PowerPlatform.Tooling.BatchedTelemetry.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Rest.ClientRuntime.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Rest.ClientRuntime.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Xrm.Sdk.Deployment.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Xrm.Sdk.Deployment.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Xrm.Sdk.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Xrm.Sdk.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.Connector.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.Connector.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.CrmConnectControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.CrmConnectControl.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.Ui.Styles.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Microsoft.Xrm.Tooling.Ui.Styles.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/Other Redistributable.txt: -------------------------------------------------------------------------------- 1 | AntiXSSLibrary.dll 2 | Microsoft.Crm.Outlook.Sdk.dll 3 | Microsoft.Crm.Sdk.Proxy.dll 4 | Microsoft.Crm.Tools.EmailProviders.dll 5 | Microsoft.Xrm.Client.CodeGeneration.dll 6 | Microsoft.Xrm.Client.dll 7 | Microsoft.Xrm.Portal.dll 8 | Microsoft.Xrm.Portal.Files.dll 9 | Microsoft.Xrm.Sdk.Deployment.dll 10 | Microsoft.Xrm.Sdk.dll 11 | Microsoft.Xrm.Sdk.Workflow.dll 12 | Microsoft.Xrm.Tooling.Connector.dll 13 | Microsoft.Xrm.Tooling.CrmConnectControl.dll 14 | Microsoft.Xrm.Tooling.CrmConnector.Powershell.dll 15 | Microsoft.Xrm.Tooling.Ui.Resources.dll 16 | Microsoft.Xrm.Tooling.WebResourceUtility.dll 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/SolutionPackager.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/SolutionPackager.exe -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/SolutionPackagerLib.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/SolutionPackagerLib.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/System.Memory.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/System.Text.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/System.Text.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/System.ValueTuple.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/System.ValueTuple.dll -------------------------------------------------------------------------------- /src/Assemblies/CoreTools/pacTelemetryUpload.exe: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/CoreTools/pacTelemetryUpload.exe -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Bcl.AsyncInterfaces.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Bcl.AsyncInterfaces.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Crm.Sdk.Proxy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Crm.Sdk.Proxy.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Caching.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Caching.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Caching.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Caching.Memory.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Configuration.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Configuration.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Configuration.Binder.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Configuration.Binder.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Configuration.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Configuration.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.DependencyInjection.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.DependencyInjection.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.DependencyInjection.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.DependencyInjection.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Http.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Logging.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Logging.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Logging.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Logging.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.ObjectPool.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.ObjectPool.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Options.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Options.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Extensions.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Extensions.Primitives.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Identity.Client.Extensions.Msal.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Identity.Client.Extensions.Msal.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Identity.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Identity.Client.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.IdentityModel.Abstractions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.IdentityModel.Abstractions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.PowerPlatform.Dataverse.Client.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.PowerPlatform.Dataverse.Client.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Microsoft.Xrm.Sdk.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Microsoft.Xrm.Sdk.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Other Redistributable.txt: -------------------------------------------------------------------------------- 1 | AntiXSSLibrary.dll 2 | Microsoft.Crm.Outlook.Sdk.dll 3 | Microsoft.Crm.Sdk.Proxy.dll 4 | Microsoft.Crm.Tools.EmailProviders.dll 5 | Microsoft.Xrm.Client.CodeGeneration.dll 6 | Microsoft.Xrm.Client.dll 7 | Microsoft.Xrm.Portal.dll 8 | Microsoft.Xrm.Portal.Files.dll 9 | Microsoft.Xrm.Sdk.Deployment.dll 10 | Microsoft.Xrm.Sdk.dll 11 | Microsoft.Xrm.Sdk.Workflow.dll 12 | Microsoft.Xrm.Tooling.Connector.dll 13 | Microsoft.Xrm.Tooling.CrmConnectControl.dll 14 | Microsoft.Xrm.Tooling.CrmConnector.Powershell.dll 15 | Microsoft.Xrm.Tooling.Ui.Resources.dll 16 | Microsoft.Xrm.Tooling.WebResourceUtility.dll 17 | 18 | 19 | -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Buffers.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Buffers.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.ComponentModel.Annotations.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.ComponentModel.Annotations.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Diagnostics.DiagnosticSource.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Diagnostics.DiagnosticSource.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Formats.Asn1.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Formats.Asn1.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.IO.FileSystem.AccessControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.IO.FileSystem.AccessControl.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Memory.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Memory.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Numerics.Vectors.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Numerics.Vectors.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Private.ServiceModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Private.ServiceModel.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Reflection.DispatchProxy.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Reflection.DispatchProxy.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Reflection.DispatchProxy.xml: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | System.Reflection.DispatchProxy 5 | 6 | 7 | 8 | Provides a mechanism for instantiating proxy objects and handling their method dispatch. 9 | 10 | 11 | 12 | Creates an object instance that derives from class and implements interface . 13 | The interface the proxy should implement. 14 | The base class to use for the proxy class. 15 | An object instance that implements . 16 | 17 | is a class, or is sealed or does not have a parameterless constructor. 18 | 19 | 20 | Whenever any method on the generated proxy type is called, this method is invoked to dispatch control. 21 | The method the caller invoked. 22 | The arguments the caller passed to the method. 23 | The object to return to the caller, or for void methods. 24 | 25 | 26 | -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Runtime.CompilerServices.Unsafe.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Runtime.CompilerServices.Unsafe.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.AccessControl.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.AccessControl.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.Cryptography.Cng.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.Cryptography.Cng.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.Cryptography.Pkcs.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.Cryptography.Pkcs.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.Cryptography.ProtectedData.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.Cryptography.ProtectedData.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.Cryptography.Xml.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.Cryptography.Xml.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Security.Principal.Windows.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Security.Principal.Windows.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.ServiceModel.Http.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.ServiceModel.Http.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.ServiceModel.Primitives.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.ServiceModel.Primitives.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.ServiceModel.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.ServiceModel.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Text.Encodings.Web.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Text.Encodings.Web.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Text.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Text.Json.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/System.Threading.Tasks.Extensions.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/System.Threading.Tasks.Extensions.dll -------------------------------------------------------------------------------- /src/Assemblies/Desktop/Third Party Notices for Dynamics 365 SDK.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/Third Party Notices for Dynamics 365 SDK.docx -------------------------------------------------------------------------------- /src/Assemblies/Desktop/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AymericM78/PowerDataOps/ca44c1a5bec98aa655ece5ae33648159db85ba42/src/Assemblies/Desktop/_._ -------------------------------------------------------------------------------- /src/Audit/Get-XrmAuditPartitions.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve audit partitions 4 | 5 | .DESCRIPTION 6 | Get record audit logs with date range and size. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Get-XrmAuditPartitions { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | ) 19 | begin { 20 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 21 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 22 | } 23 | process { 24 | $request = New-XrmRequest -Name "RetrieveAuditPartitionList"; 25 | $response = $XrmClient | Invoke-XrmRequest -Request $request; 26 | 27 | $AuditPartitionDetailCollection = $response.Results["AuditPartitionDetailCollection"]; 28 | $AuditPartitionDetailCollection | Select-Object PartitionNumber, StartDate, EndDate, Size; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function Get-XrmAuditPartitions -Alias *; -------------------------------------------------------------------------------- /src/AzDevOps/Add-XrmDevOpsVariableGroup.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Push Dataverse Instance data to a Az DevOps variable group. 4 | #> 5 | # TODO : To review 6 | <# 7 | function Add-XrmDevOpsVariableGroup { 8 | [CmdletBinding()] 9 | param 10 | ( 11 | [Parameter(Mandatory = $false, ValueFromPipeline)] 12 | $XrmInstance 13 | ) 14 | begin { 15 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 16 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 17 | } 18 | process { 19 | $body = '{ 20 | "variables": { 21 | "ConnectionString": { 22 | "value": "[#ConnectionString#]" 23 | } 24 | }, 25 | "type": "Vsts", 26 | "name": "[#Name#]", 27 | "description": "" 28 | }'; 29 | $body = $body.Replace("[#ConnectionString#]", $XrmInstance.ConnectionString); 30 | $body = $body.Replace("[#Name#]", $XrmInstance.Name); 31 | 32 | Invoke-XrmDevOpsApi -RelativeApiUrl "/distributedtask/variablegroups" -Method POST -Body $body | Out-Null; 33 | } 34 | end { 35 | $StopWatch.Stop(); 36 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 37 | } 38 | } 39 | 40 | Export-ModuleMember -Function Add-XrmDevOpsVariableGroup -Alias *; 41 | #> 42 | -------------------------------------------------------------------------------- /src/Client/Out-XrmClient.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize CrmserviceClient instance from instance object. 4 | 5 | .Description 6 | Create a new connection to Microsoft Dataverse from instance object. 7 | 8 | .PARAMETER Instance 9 | Microsoft Dataverse instance object. 10 | 11 | .OUTPUTS 12 | Microsoft.PowerPlatform.Dataverse.Client.ServiceClient. Microsoft Dataverse connector. 13 | #> 14 | function Out-XrmClient { 15 | [CmdletBinding()] 16 | [OutputType("Microsoft.PowerPlatform.Dataverse.Client.ServiceClient")] 17 | param 18 | ( 19 | [Parameter(Mandatory = $true, ValueFromPipeline)] 20 | $XrmInstance 21 | ) 22 | begin { 23 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 24 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 25 | } 26 | process { 27 | $XrmClient = New-XrmClient -ConnectionString $XrmInstance.ConnectionString; 28 | $XrmClient; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function Out-XrmClient -Alias *; -------------------------------------------------------------------------------- /src/Converters/ConvertTo-XrmObjects.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Transform Entity Collection to custom object collection. 4 | 5 | .DESCRIPTION 6 | Represent Entity objects to custom objects array. 7 | 8 | .PARAMETER Record 9 | Entity record / table rows (Entity array). 10 | #> 11 | function ConvertTo-XrmObjects { 12 | [CmdletBinding()] 13 | [OutputType([PsCustomObject[]])] 14 | param 15 | ( 16 | [Parameter(Mandatory, ValueFromPipeline)] 17 | [Microsoft.Xrm.Sdk.Entity[]] 18 | $InputObject 19 | ) 20 | begin { 21 | [System.Collections.ArrayList] $records = @(); 22 | 23 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 24 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 25 | } 26 | process { 27 | $object = $InputObject | ConvertTo-XrmObject; 28 | $records.Add($object) | Out-Null; 29 | } 30 | end { 31 | $records; 32 | 33 | $StopWatch.Stop(); 34 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 35 | } 36 | } 37 | 38 | Export-ModuleMember -Function ConvertTo-XrmObjects -Alias *; -------------------------------------------------------------------------------- /src/Instances/Get-XrmInstance.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve instance by name 4 | 5 | .DESCRIPTION 6 | Get Microsoft Dataverse instance object by its domainname / urlhostname 7 | 8 | .PARAMETER Name 9 | Instance domain name for instance url (myinstance => myinstance.crm.dynamics1.com) 10 | #> 11 | function Get-XrmInstance { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $true)] 16 | [String] 17 | $Name 18 | ) 19 | begin { 20 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 21 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 22 | } 23 | process { 24 | $instances = Get-XrmInstances; 25 | $instance = $instances | Where-Object -Property "Name" -EQ -Value $Name; 26 | if (-not $instance) { 27 | throw "Instance $Name not found!"; 28 | } 29 | $instance; 30 | } 31 | end { 32 | $StopWatch.Stop(); 33 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 34 | } 35 | } 36 | 37 | Export-ModuleMember -Function Get-XrmInstance -Alias *; -------------------------------------------------------------------------------- /src/Instances/New-XrmInstance.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize new object that represent a Xrm Instance. 4 | #> 5 | function New-XrmInstance { 6 | [CmdletBinding()] 7 | param 8 | ( 9 | ) 10 | begin { 11 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 12 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 13 | } 14 | process { 15 | 16 | $hash = @{}; 17 | $hash["Id"] = [Guid]::Empty; 18 | $hash["Name"] = [String]::Empty; 19 | $hash["UniqueName"] = [String]::Empty; 20 | $hash["DisplayName"] = [String]::Empty; 21 | $hash["Url"] = [String]::Empty; 22 | $hash["ApiUrl"] = [String]::Empty; 23 | $hash["Location"] = [String]::Empty; 24 | $hash["DataCenter"] = [String]::Empty; 25 | $hash["Sku"] = [String]::Empty; 26 | $hash["Type"] = [String]::Empty; 27 | $hash["Version"] = [String]::Empty; 28 | $hash["BaseLanguage"] = [String]::Empty; 29 | $hash["State"] = [String]::Empty; 30 | $hash["CreationTemplates"] = @(); 31 | $hash["ConnectionString"] = [String]::Empty; 32 | $hash["ParentConnection"] = $null; 33 | 34 | $object = New-Object PsObject -Property $hash; 35 | $object; 36 | } 37 | end { 38 | $StopWatch.Stop(); 39 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 40 | } 41 | } 42 | 43 | Export-ModuleMember -Function New-XrmInstance -Alias *; -------------------------------------------------------------------------------- /src/Metadata/Get-XrmEntitiesLogicalName.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve entities logicalname 4 | 5 | .DESCRIPTION 6 | Get list of entity / table logical names. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Get-XrmEntitiesLogicalName { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | ) 19 | begin { 20 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 21 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 22 | } 23 | process { 24 | $logicalNames = @(); 25 | $entityMetadata = Get-XrmAllEntityMetadata -XrmClient $XrmClient -Filter "Entity"; 26 | $entityMetadata | ForEach-Object { 27 | $logicalNames += $_.LogicalName; 28 | } 29 | $logicalNames | Sort-Object; 30 | } 31 | end { 32 | $StopWatch.Stop(); 33 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 34 | } 35 | } 36 | 37 | Export-ModuleMember -Function Get-XrmEntitiesLogicalName -Alias *; -------------------------------------------------------------------------------- /src/Organization/Get-XrmOrganization.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Get Organization object. 4 | 5 | .DESCRIPTION 6 | Retrieve default organization record from target instance. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER Columns 12 | Specify expected columns to retrieve. (Default : all columns) 13 | #> 14 | function Get-XrmOrganization { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [ValidateNotNullOrEmpty()] 24 | [String[]] 25 | $Columns = @("*") 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $query = New-XrmQueryExpression -LogicalName "organization" -Columns $Columns -TopCount 1; 33 | $results = $XrmClient | Get-XrmMultipleRecords -Query $query; 34 | 35 | $organization = $results | Select-Object -First 1; 36 | $organization; 37 | } 38 | end { 39 | $StopWatch.Stop(); 40 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 41 | } 42 | } 43 | 44 | Export-ModuleMember -Function Get-XrmOrganization -Alias *; -------------------------------------------------------------------------------- /src/Organization/Get-XrmOrganizationDbSetting.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Get Organization setting. 4 | 5 | .DESCRIPTION 6 | Retrieve organization setting (orgdbsetting) from target instance. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER Name 12 | Setting name to retrieve. 13 | #> 14 | function Get-XrmOrganizationDbSetting { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [ValidateNotNullOrEmpty()] 24 | [String] 25 | $Name 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $organization = $XrmClient | Get-XrmOrganization -Columns "orgdborgsettings"; 33 | $settingsXml = [xml] $organization.orgdborgsettings; 34 | if ($Name) { 35 | return $settingsXml.OrgSettings.$Name; 36 | } 37 | $settingsXml.OrgSettings; 38 | } 39 | end { 40 | $StopWatch.Stop(); 41 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 42 | } 43 | } 44 | 45 | Export-ModuleMember -Function Get-XrmOrganizationDbSetting -Alias *; -------------------------------------------------------------------------------- /src/Query/New-XrmFetchExpression.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Return a fetch expression from fetch xml 4 | 5 | .DESCRIPTION 6 | Initialize new fetch expression object. 7 | 8 | .PARAMETER FetchXml 9 | FetchXML query string. 10 | #> 11 | function New-XrmFetchExpression { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.Query.FetchExpression")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [ValidateNotNullOrEmpty()] 18 | [String] 19 | $FetchXml 20 | ) 21 | begin { 22 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 23 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 24 | } 25 | process { 26 | $fetchExpression = New-Object -TypeName "Microsoft.Xrm.Sdk.Query.FetchExpression" -ArgumentList $FetchXml; 27 | $fetchExpression; 28 | } 29 | end { 30 | $StopWatch.Stop(); 31 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 32 | } 33 | } 34 | 35 | Export-ModuleMember -Function New-XrmFetchExpression -Alias *; -------------------------------------------------------------------------------- /src/Requests/Add-XrmRequestParameter.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Add parameter to request. 4 | 5 | .DESCRIPTION 6 | Add parameter name and value to given request. 7 | 8 | .PARAMETER Name 9 | Parameter name. 10 | 11 | .PARAMETER Value 12 | Parameter value. 13 | #> 14 | function Add-XrmRequestParameter { 15 | [CmdletBinding()] 16 | [OutputType("Microsoft.Xrm.Sdk.OrganizationRequest")] 17 | param 18 | ( 19 | [Parameter(Mandatory = $true, ValueFromPipeline)] 20 | [Microsoft.Xrm.Sdk.OrganizationRequest] 21 | $Request, 22 | 23 | [Parameter(Mandatory = $true)] 24 | [string] 25 | $Name, 26 | 27 | [Parameter(Mandatory = $true)] 28 | [object] 29 | $Value 30 | ) 31 | begin { 32 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 33 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 34 | } 35 | process { 36 | if ($Request.Parameters.Contains($Name)) { 37 | throw "Request parameter '$Name' already added!" 38 | } 39 | 40 | $Request.Parameters.Add($Name, $Value); 41 | return $Request; 42 | } 43 | end { 44 | $StopWatch.Stop(); 45 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 46 | } 47 | } 48 | 49 | Export-ModuleMember -Function Add-XrmRequestParameter -Alias *; -------------------------------------------------------------------------------- /src/Requests/New-XrmRequest.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize Request object instance. 4 | 5 | .DESCRIPTION 6 | Get a new Organization Request object instance. 7 | 8 | .PARAMETER Name 9 | Request name. (Microsoft Dataverse Web Api Function) 10 | #> 11 | function New-XrmRequest { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.OrganizationRequest")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [ValidateNotNullOrEmpty()] 18 | [String] 19 | $Name 20 | ) 21 | begin { 22 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 23 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 24 | } 25 | process { 26 | 27 | $request = New-Object "Microsoft.Xrm.Sdk.OrganizationRequest" -ArgumentList $Name; 28 | return $request; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function New-XrmRequest -Alias *; -------------------------------------------------------------------------------- /src/SQL/Assert-XrmTdsEndpointEnabled.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Check if TDS endpoint is enabled. 4 | 5 | .DESCRIPTION 6 | Assert orgdbsettings EnableTDSEndpoint parameter is true to allow SQL commands thru TDS Endpoint. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Assert-XrmTdsEndpointEnabled { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | $value = Get-XrmOrganizationDbSetting -XrmClient $XrmClient -Name "EnableTDSEndpoint"; 26 | if($value -ne "true") 27 | { 28 | throw "TDS EndPoint is disabled! Please use Enable-XrmTdsEndpoint to configure it." 29 | } 30 | } 31 | end { 32 | $StopWatch.Stop(); 33 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 34 | } 35 | } 36 | 37 | Export-ModuleMember -Function Assert-XrmTdsEndpointEnabled -Alias *; -------------------------------------------------------------------------------- /src/SQL/Disable-XrmTdsEndpoint.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Disable TDS endpoint. 4 | 5 | .DESCRIPTION 6 | Configure orgdbsettings parameter to prevent SQL commands thru TDS Endpoint. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Disable-XrmTdsEndpoint { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | Set-XrmOrganizationDbSetting -XrmClient $XrmClient -Name "EnableTDSEndpoint" -Value "false"; 26 | } 27 | end { 28 | $StopWatch.Stop(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 30 | } 31 | } 32 | 33 | Export-ModuleMember -Function Disable-XrmTdsEndpoint -Alias *; -------------------------------------------------------------------------------- /src/SQL/Enable-XrmTdsEndpoint.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Enable TDS endpoint. 4 | 5 | .DESCRIPTION 6 | Configure orgdbsettings parameter to allow SQL commands thru TDS Endpoint. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Enable-XrmTdsEndpoint { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | Set-XrmOrganizationDbSetting -XrmClient $XrmClient -Name "EnableTDSEndpoint" -Value "true"; 26 | } 27 | end { 28 | $StopWatch.Stop(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 30 | } 31 | } 32 | 33 | Export-ModuleMember -Function Enable-XrmTdsEndpoint -Alias *; -------------------------------------------------------------------------------- /src/Security/Get-XrmRootBusinessUnit.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve root business unit. 4 | 5 | .DESCRIPTION 6 | Get top business unit of organization. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER Columns 12 | Specify expected columns to retrieve. (Default : all columns) 13 | #> 14 | function Get-XrmRootBusinessUnit { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [ValidateNotNullOrEmpty()] 24 | [String[]] 25 | $Columns = @("*") 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $queryBusinessUnit = New-XrmQueryExpression -LogicalName "businessunit" -Columns $Columns; 33 | $queryBusinessUnit = $queryBusinessUnit | Add-XrmQueryCondition -Field "parentbusinessunitid" -Condition Null; 34 | $businessUnits = $XrmClient | Get-XrmMultipleRecords -Query $queryBusinessUnit; 35 | $businessUnit = $businessUnits | Select-Object -First 1; 36 | $businessUnit; 37 | } 38 | end { 39 | $StopWatch.Stop(); 40 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 41 | } 42 | } 43 | Export-ModuleMember -Function Get-XrmRootBusinessUnit -Alias *; -------------------------------------------------------------------------------- /src/Security/Get-XrmUsers.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve users. 4 | 5 | .DESCRIPTION 6 | Get all system users from instance. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER Columns 12 | Specify expected columns to retrieve. (Default : all columns) 13 | #> 14 | function Get-XrmUsers { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [ValidateNotNullOrEmpty()] 24 | [String[]] 25 | $Columns = @("fullname", "internalemailaddress") 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $queryUsers = New-XrmQueryExpression -Logicalname "systemuser" -Columns $Columns; 33 | $users = Get-XrmMultipleRecords -XrmClient $XrmClient -Query $queryUsers; 34 | $users; 35 | } 36 | end { 37 | $StopWatch.Stop(); 38 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 39 | } 40 | } 41 | Export-ModuleMember -Function Get-XrmUsers -Alias *; -------------------------------------------------------------------------------- /src/Security/Get-XrmWhoAmI.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve current user id. 4 | 5 | .DESCRIPTION 6 | Get system user unique identifier. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | #> 11 | function Get-XrmWhoAmI { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $false, ValueFromPipeline)] 16 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 17 | $XrmClient = $Global:XrmClient 18 | ) 19 | begin { 20 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 21 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 22 | } 23 | process { 24 | 25 | $request = new-xrmrequest -Name "WhoAmI"; 26 | $response = Invoke-xrmRequest -XrmClient $XrmClient -Request $request; 27 | 28 | $userId = $response.Results["UserId"].Guid; 29 | $userId; 30 | } 31 | end { 32 | $StopWatch.Stop(); 33 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 34 | } 35 | } 36 | Export-ModuleMember -Function Get-XrmWhoAmI -Alias *; -------------------------------------------------------------------------------- /src/Solutions/Get-XrmBasicSolution.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve basic solution record. 4 | 5 | .DESCRIPTION 6 | Get basic solution with specified column. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER Columns 12 | Specify expected columns to retrieve. (Default : id, uniquename, friendlyname, version, ismanaged, installedon, createdby, publisherid, modifiedon, modifiedby) 13 | #> 14 | function Get-XrmBasicSolution { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $false)] 23 | [ValidateNotNullOrEmpty()] 24 | [String[]] 25 | $Columns = @("solutionid", "uniquename", "friendlyname", "version", "ismanaged", "installedon", "createdby", "publisherid", "modifiedon", "modifiedby") 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | 33 | $basicSolution = Get-XrmSolution -XrmClient $XrmClient -SolutionUniqueName "Basic" -Columns $Columns; 34 | $basicSolution; 35 | } 36 | end { 37 | $StopWatch.Stop(); 38 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 39 | } 40 | } 41 | 42 | Export-ModuleMember -Function Get-XrmBasicSolution -Alias *; -------------------------------------------------------------------------------- /src/Types/New-XrmDevOpsSettings.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize new object that represent a DevOps Connection settings. 4 | 5 | .DESCRIPTION 6 | Core module cmdlet that create new object to store Azure DevOps information. 7 | #> 8 | function New-XrmDevOpsSettings { 9 | [CmdletBinding()] 10 | param 11 | ( 12 | ) 13 | begin { 14 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 15 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 16 | } 17 | process { 18 | 19 | $hash = @{ }; 20 | $hash["OrganizationName"] = [String]::Empty; 21 | $hash["ProjectName"] = [String]::Empty; 22 | $hash["Token"] = [String]::Empty; 23 | 24 | $object = New-Object PsObject -Property $hash; 25 | $object; 26 | } 27 | end { 28 | $StopWatch.Stop(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 30 | } 31 | } 32 | 33 | Export-ModuleMember -Function New-XrmDevOpsSettings -Alias *; -------------------------------------------------------------------------------- /src/Types/New-XrmEntityCollection.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize EntityCollection object instance. 4 | 5 | .DESCRIPTION 6 | Get new Entity Collection object from entities array. 7 | 8 | .PARAMETER Entities 9 | Entities array. 10 | #> 11 | function New-XrmEntityCollection { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.EntityCollection")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [Microsoft.Xrm.Sdk.Entity[]] 18 | $Entities 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | 26 | $entityCollection = New-Object -TypeName "Microsoft.Xrm.Sdk.EntityCollection"; 27 | foreach ($entity in $Entities) { 28 | $entityCollection.Entities.Add($entity) | Out-Null; 29 | } 30 | 31 | Write-Output $entityCollection -NoEnumerate; 32 | } 33 | end { 34 | $StopWatch.Stop(); 35 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 36 | } 37 | } 38 | 39 | Export-ModuleMember -Function New-XrmEntityCollection -Alias *; -------------------------------------------------------------------------------- /src/Types/New-XrmMoney.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize Money object instance. 4 | 5 | .DESCRIPTION 6 | Get new money object from given decimal value. 7 | 8 | .PARAMETER Value 9 | Decimal value. 10 | #> 11 | function New-XrmMoney { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.Money")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [decimal] 18 | $Value 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | $moneyValue = New-Object -TypeName "Microsoft.Xrm.Sdk.Money"; 26 | $moneyValue.Value = $Value; 27 | 28 | [Microsoft.Xrm.Sdk.Money] $moneyValue; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function New-XrmMoney -Alias *; -------------------------------------------------------------------------------- /src/Types/New-XrmOptionSetValue.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize OptionSetValue object instance. 4 | 5 | .DESCRIPTION 6 | Get new OptionSetValue object from given int value. 7 | 8 | .PARAMETER Value 9 | Option integer value. 10 | #> 11 | function New-XrmOptionSetValue { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.OptionSetValue")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [int] 18 | $Value 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | $optionSetValue = New-Object -TypeName "Microsoft.Xrm.Sdk.OptionSetValue"; 26 | $optionSetValue.Value = $Value; 27 | 28 | [Microsoft.Xrm.Sdk.OptionSetValue] $optionSetValue; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function New-XrmOptionSetValue -Alias *; -------------------------------------------------------------------------------- /src/Types/New-XrmOptionSetValues.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize OptionSetValueCollection object instance. 4 | 5 | .DESCRIPTION 6 | Get new OptionSetValueCollection object from given int value array. 7 | 8 | .PARAMETER Value 9 | Array of option integer value. 10 | #> 11 | function New-XrmOptionSetValues { 12 | [CmdletBinding()] 13 | [OutputType("Microsoft.Xrm.Sdk.OptionSetValueCollection")] 14 | param 15 | ( 16 | [Parameter(Mandatory = $true)] 17 | [int[]] 18 | $Values 19 | ) 20 | begin { 21 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 23 | } 24 | process { 25 | 26 | $optionSetValues = New-Object System.Collections.Generic.List[Microsoft.Xrm.Sdk.OptionSetValue]; 27 | foreach ($value in $Values) { 28 | $optionSetValue = (New-XrmOptionSetValue -Value $value); 29 | $optionSetValues.Add($optionSetValue) | Out-Null; 30 | } 31 | 32 | $optionSetCollection = New-Object -TypeName "Microsoft.Xrm.Sdk.OptionSetValueCollection"; 33 | $optionSetCollection.AddRange($optionSetValues) | Out-Null; 34 | 35 | Write-Output $optionSetCollection -NoEnumerate; 36 | } 37 | end { 38 | $StopWatch.Stop(); 39 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 40 | } 41 | } 42 | 43 | Export-ModuleMember -Function New-XrmOptionSetValues -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Add-XrmFolder.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Add folder in given path if it doesn't exists. 4 | 5 | .DESCRIPTION 6 | Create given folder if not exist and return sub folder full path. 7 | 8 | .PARAMETER Path 9 | Folder path where to add given folder. 10 | 11 | .PARAMETER FolderName 12 | Folder name. 13 | 14 | .PARAMETER CleanIfExists 15 | If folder already exists, remove existing content. (Default : False) 16 | #> 17 | function Add-XrmFolder { 18 | [CmdletBinding()] 19 | param 20 | ( 21 | [Parameter(Mandatory = $true)] 22 | [ValidateScript( { Test-Path $_ })] 23 | [String] 24 | $Path, 25 | 26 | [Parameter(Mandatory = $true)] 27 | [String] 28 | $FolderName, 29 | 30 | [Switch] 31 | $CleanIfExists 32 | ) 33 | begin { 34 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 35 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 36 | } 37 | process { 38 | $folderPath = [System.IO.Path]::Combine($Path, $FolderName); 39 | if ($CleanIfExists) { 40 | if (Test-Path $folderPath) { 41 | Remove-Item -Recurse -Force $folderPath; 42 | } 43 | } 44 | New-Item -ItemType Directory -Force -Path $folderPath | Out-Null; 45 | 46 | $folderPath; 47 | } 48 | end { 49 | $StopWatch.Stop(); 50 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 51 | } 52 | } 53 | 54 | Export-ModuleMember -Function Add-XrmFolder -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Get-XrmAuthTypes.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve authentication type names. 4 | 5 | .DESCRIPTION 6 | Get available authentication types. 7 | #> 8 | function Get-XrmAuthTypes { 9 | [CmdletBinding()] 10 | param 11 | ( 12 | ) 13 | begin { 14 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 15 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 16 | } 17 | process { 18 | "Office365", "OAuth", "AD", "Ifd", "ClientSecret"; 19 | } 20 | end { 21 | $StopWatch.Stop(); 22 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 23 | } 24 | } 25 | 26 | Export-ModuleMember -Function Get-XrmAuthTypes -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Get-XrmBase64.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Get base 64 from file content. 4 | 5 | .DESCRIPTION 6 | Read given file and return its content as base64 content. 7 | 8 | .PARAMETER FilePath 9 | Full file path. 10 | #> 11 | function Get-XrmBase64 { 12 | [CmdletBinding()] 13 | param 14 | ( 15 | [Parameter(Mandatory = $true)] 16 | [ValidateNotNullOrEmpty()] 17 | [ValidateScript( { Test-Path $_ })] 18 | [string] 19 | $FilePath 20 | ) 21 | begin { 22 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 23 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 24 | } 25 | process { 26 | $content = [System.IO.File]::ReadAllBytes($FilePath); 27 | $content64 = [System.Convert]::ToBase64String($content); 28 | $content64; 29 | } 30 | end { 31 | $StopWatch.Stop(); 32 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 33 | } 34 | } 35 | 36 | Export-ModuleMember -Function Get-XrmBase64 -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Get-XrmRegions.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve region names. 4 | 5 | .DESCRIPTION 6 | Get available datacenter regions. 7 | #> 8 | function Get-XrmRegions { 9 | [CmdletBinding()] 10 | param 11 | ( 12 | ) 13 | begin { 14 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 15 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 16 | } 17 | process { 18 | $regions = @(); 19 | $regions += "unitedstates"; 20 | $regions += "europe"; 21 | $regions += "asia"; 22 | $regions += "australia"; 23 | $regions += "india"; 24 | $regions += "japan"; 25 | $regions += "canada"; 26 | $regions += "unitedkingdom"; 27 | $regions += "unitedstatesfirstrelease"; 28 | $regions += "southamerica"; 29 | $regions += "france"; 30 | $regions += "switzerland"; 31 | $regions; 32 | } 33 | end { 34 | $StopWatch.Stop(); 35 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 36 | } 37 | } 38 | 39 | Export-ModuleMember -Function Get-XrmRegions -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Set-XrmCredentials.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Initialize PSCredential object. 4 | 5 | .DESCRIPTION 6 | Create PSCredential from given login and password. 7 | 8 | .PARAMETER Login 9 | Username. 10 | 11 | .PARAMETER Password 12 | Password value in plain text. 13 | #> 14 | function Set-XrmCredentials { 15 | [CmdletBinding()] 16 | [OutputType([System.Management.Automation.PSCredential])] 17 | param 18 | ( 19 | [Parameter(Mandatory = $true)] 20 | [String] 21 | $Login, 22 | 23 | [Parameter(Mandatory = $true)] 24 | [String] 25 | $Password 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $securePassword = ConvertTo-SecureString -String $Password -AsPlainText -Force; 33 | $credentials = New-Object System.Management.Automation.PSCredential($Login, $securePassword); 34 | $credentials; 35 | } 36 | end { 37 | $StopWatch.Stop(); 38 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 39 | } 40 | } 41 | 42 | Export-ModuleMember -Function Set-XrmCredentials -Alias *; -------------------------------------------------------------------------------- /src/Utilities/Split-XrmCollection.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Split given collection into specified sized collections. 4 | 5 | .Description 6 | Extract chunk collections from given one. 7 | 8 | .PARAMETER Collection 9 | Input array to split. 10 | 11 | .PARAMETER Count 12 | Target collections size. 13 | #> 14 | function Split-XrmCollection { 15 | [CmdletBinding()] 16 | param( 17 | [Parameter(ValueFromPipeline = $true, ValueFromPipelineByPropertyName = $true)] 18 | $Collection, 19 | [Parameter(Mandatory = $true)] 20 | [int] 21 | $Count 22 | ) 23 | begin { 24 | $Index = 0 25 | $Array = @() 26 | $TempArray = @() 27 | } 28 | process { 29 | 30 | if(-not $Collection){ 31 | return @(); 32 | } 33 | 34 | if($Collection.Count -lt $Count){ 35 | return $Collection; 36 | } 37 | 38 | foreach ($item in $Collection) { 39 | if (++$Index -eq $Count) { 40 | $Index = 0; 41 | $Array += , @($TempArray + $item); 42 | $TempArray = @(); 43 | continue; 44 | } 45 | $TempArray += $item; 46 | } 47 | } 48 | end { 49 | if ($TempArray) { 50 | $Array += , $TempArray; 51 | } 52 | $Array; 53 | } 54 | } 55 | Export-ModuleMember -Function Split-XrmCollection -Alias *; -------------------------------------------------------------------------------- /src/Views/Get-XrmQueryFromFetch.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Retrieve query expression from fetch Xml. 4 | 5 | .DESCRIPTION 6 | Convert FetchXml to QueryExpression. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER FetchXml 12 | FetchXML query string. 13 | #> 14 | function Get-XrmQueryFromFetch { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $true)] 23 | [ValidateNotNullOrEmpty()] 24 | [String] 25 | $FetchXml 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $conversionRequest = New-XrmRequest -Name "FetchXmlToQueryExpression"; ; 33 | $conversionRequest = $conversionRequest | Add-XrmRequestParameter -Name "FetchXml" -Value $FetchXml; 34 | $conversionResponse = Invoke-XrmRequest -XrmClient $XrmClient -Request $conversionRequest; 35 | 36 | $conversionResponse.Results["Query"]; 37 | } 38 | end { 39 | $StopWatch.Stop(); 40 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 41 | } 42 | } 43 | 44 | Export-ModuleMember -Function Get-XrmQueryFromFetch -Alias *; 45 | -------------------------------------------------------------------------------- /src/Workflows/Disable-XrmWorkflow.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Disable a workflow. 4 | 5 | .DESCRIPTION 6 | Deactivate given workflow. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER WorkflowId 12 | Workflow unique identifier. 13 | #> 14 | function Disable-XrmWorkflow { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $true)] 23 | [ValidateNotNullOrEmpty()] 24 | [Guid] 25 | $WorkflowId 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $workflowUpdate = New-XrmEntity -LogicalName "workflow" -Id $WorkflowId -Attributes @{ 33 | "statecode" = New-XrmOptionSetValue -Value 0 34 | "statuscode" = New-XrmOptionSetValue -Value 1 35 | } 36 | Update-XrmRecord -XrmClient $XrmClient -Entity $workflowUpdate; 37 | } 38 | end { 39 | $StopWatch.Stop(); 40 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 41 | } 42 | } 43 | 44 | Export-ModuleMember -Function Disable-XrmWorkflow -Alias *; -------------------------------------------------------------------------------- /src/Workflows/Enable-XrmWorkflow.ps1: -------------------------------------------------------------------------------- 1 | <# 2 | .SYNOPSIS 3 | Enable a workflow. 4 | 5 | .DESCRIPTION 6 | Activate given workflow. 7 | 8 | .PARAMETER XrmClient 9 | Xrm connector initialized to target instance. Use latest one by default. (Dataverse ServiceClient) 10 | 11 | .PARAMETER WorkflowId 12 | Workflow unique identifier. 13 | #> 14 | function Enable-XrmWorkflow { 15 | [CmdletBinding()] 16 | param 17 | ( 18 | [Parameter(Mandatory = $false, ValueFromPipeline)] 19 | [Microsoft.PowerPlatform.Dataverse.Client.ServiceClient] 20 | $XrmClient = $Global:XrmClient, 21 | 22 | [Parameter(Mandatory = $true)] 23 | [ValidateNotNullOrEmpty()] 24 | [Guid] 25 | $WorkflowId 26 | ) 27 | begin { 28 | $StopWatch = [System.Diagnostics.Stopwatch]::StartNew(); 29 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Start -Parameters ($MyInvocation.MyCommand.Parameters); 30 | } 31 | process { 32 | $workflowUpdate = New-XrmEntity -LogicalName "workflow" -Id $WorkflowId -Attributes @{ 33 | "statecode" = New-XrmOptionSetValue -Value 1 34 | "statuscode" = New-XrmOptionSetValue -Value 2 35 | } 36 | Update-XrmRecord -XrmClient $XrmClient -Entity $workflowUpdate; 37 | } 38 | end { 39 | $StopWatch.Stop(); 40 | Trace-XrmFunction -Name $MyInvocation.MyCommand.Name -Stage Stop -StopWatch $StopWatch; 41 | } 42 | } 43 | 44 | Export-ModuleMember -Function Enable-XrmWorkflow -Alias *; --------------------------------------------------------------------------------