-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathExportandImportSolution
More file actions
52 lines (51 loc) · 2.09 KB
/
Copy pathExportandImportSolution
File metadata and controls
52 lines (51 loc) · 2.09 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#This script uses Microsfot.Xrm.Data.PowerShell module
#Update name of solution in below line, instead of rte_V1 add name of solution.
#This script was written few years back and is only for sample purposes.
$solutionName ="rte_V1″
$env:TEMP
Set-StrictMode -Version latest
function InstallModule{
Set-ExecutionPolicy -Scope Process -ExecutionPolicy Bypass -Force
$moduleName = "Microsoft.Xrm.Data.Powershell"
$moduleVersion = "2.7.2"
if (!(Get-Module -ListAvailable -Name $moduleName )) {
Write-host "Module Not found, installing now"
$moduleVersion
Install-Module -Name $moduleName -MinimumVersion $moduleVersion -Force
}
else
{
Write-host "Module Found"
}
}
function GetCrmConn{
param(
[string]$user,
[string]$secpasswd,
[string]$crmUrl)
Write-Host "UserId: $user Password: $secpasswd CrmUrl: $crmUrl"
$secpasswd2 = ConvertTo-SecureString -String $secpasswd -AsPlainText -Force
write-host "Creating credentials"
$mycreds = New-Object System.Management.Automation.PSCredential ($User, $secpasswd2)
write-host "Credentials object created"
write-host "Establishing crm connection next"
$crm = Connect-CrmOnline -Credential $mycreds -ServerUrl $CrmUrl
write-host "Crm connection established"
return $crm
}
InstallModule
#Update Source CRM instance details below:
Write-Host "going to create first connection"
$Crm1 = GetCrmConn -user "user@crm1st.onmicrosoft.com" -secpasswd "P@ssword001122" -crmUrl "https://crm1st.crm6.dynamics.com"
Write-Host "first connection created"
Set-CrmConnectionTimeout -conn $Crm1 -TimeoutInSeconds 1000
#Update target CRM instance below:
Write-Host "going to create second connection"
$Crm2 = GetCrmConn -user "user@crm2nd.onmicrosoft.com" -secpasswd "P@ssword001122" -crmUrl "https://crm.crm6.dynamics.com"
Write-Host "second connection created"
Write-Host "Exporting Solution"
Export-CrmSolution -conn $Crm1 -SolutionName "$solutionName" -SolutionFilePath $env:TEMP -SolutionZipFileName "$solutionName.zip"
Set-CrmConnectionTimeout -conn $Crm2 -TimeoutInSeconds 1000
Write-host "Importing Solution"
Import-CrmSolution -conn $Crm2 -SolutionFilePath "$env:TEMP\$solutionName.zip"
Write-Host "Publishing rules"