Useful Powershell scripts
To Connect to CRM
To Connect to CRM
1. Connect to CRM from Powershell Script using Command-line parameters(Ideal for using Script for automation purposes.)
# This PS snippet retreieves the Active Duplicate DEtection Rules frmo the crmDevOrg and activates them in crmTestOrg. # The User Name, Password and the Organization Name are to be updated before executing this. ## pass arguments OrganizationURL, UserName, Password [CmdletBinding()] param( [Parameter(Position=0, Mandatory=$true)] [string]$SourceOrganizationName, [Parameter(Position=1, Mandatory=$true)] [string]$SourceUserName, [Parameter(Position=2, Mandatory=$true)] [string]$SourcePassword, Install-Module -Name Microsoft.Xrm.Data.Powershell -RequiredVersion 2.8.7 -Scope CurrentUser $password = ConvertTo-SecureString $SourcePassword -AsPlainText -Force $credentials = New-Object System.Management.Automation.PSCredential($SourceUserName,$password) $crmDevOrg = Get-CrmConnection -Credential $credentials -DeploymentRegion NorthAmerica -OnlineType Office365 -OrganizationName $SourceOrganizationName -MaxCrmConnectionTimeOutMinutes 5
2. Using interactive mode
Install-Module -Name Microsoft.Xrm.Data.Powershell -RequiredVersion 2.8.7 -Scope CurrentUser
$crmDevOrg = Get-CrmConnection –InteractiveMode
3.Activate Duplicate detection rules with Powershell shell Script depending on the activatesd Rules in another Orgs - say - check form Source Org and ACtivate in the Destination Org
This PS snippet retreieves the Active Duplicate DEtection Rules frmo the crmDevOrg and activates them in crmTestOrg. # The User Name, Password and the Organization Name are to be updated before executing this. ## pass arguments OrganizationURL, UserName, Password [CmdletBinding()] param( [Parameter(Position=0, Mandatory=$true)] [string]$DevOrganizationName, [Parameter(Position=1, Mandatory=$true)] [string]$DevUserName, [Parameter(Position=2, Mandatory=$true)] [string]$DevPassword, [Parameter(Position=3, Mandatory=$true)] [string]$TestOrganizationName, [Parameter(Position=4, Mandatory=$true)] [string]$TestUserName, [Parameter(Position=5, Mandatory=$true)] [string]$TestPassword ) Install-Module -Name Microsoft.Xrm.Data.Powershell -RequiredVersion 2.8.7 -Scope CurrentUser $password = ConvertTo-SecureString $DevPassword -AsPlainText -Force $credentials = New-Object System.Management.Automation.PSCredential($DevUserName,$password) $crmDevOrg = Get-CrmConnection -Credential $credentials -DeploymentRegion NorthAmerica -OnlineType Office365 -OrganizationName $DevOrganizationName -MaxCrmConnectionTimeOutMinutes 5 $duplicaterules = Get-CrmRecords -conn $crmDevOrg 'duplicaterule' -FilterAttribute statecode -FilterOperator eq -FilterValue Active $duplicateruleIds = $duplicaterules['CrmRecords'] | select -ExpandProperty duplicateruleid $password = ConvertTo-SecureString $TestPassword -AsPlainText -Force $credentials = New-Object System.Management.Automation.PSCredential($TestUserName,$password) $crmTestOrg = Get-CrmConnection -Credential $credentials -DeploymentRegion NorthAmerica -OnlineType Office365 -OrganizationName $TestOrganizationName -MaxCrmConnectionTimeOutMinutes 5 foreach($ruleId in $duplicateruleIds) { write-host "publishing rule id: " $ruleId $ddRule_toPublish = New-Object Microsoft.Crm.Sdk.Messages.PublishDuplicateRuleRequest $ddRule_toPublish.DuplicateRuleId= $ruleId $crmTestOrg.ExecuteCrmOrganizationRequest($ddRule_toPublish,$trace) Write-Host "Rule Published" }
No comments:
Post a Comment