web
You’re offline. This is a read only version of the page.
close
Skip to main content

Notifications

Announcements

Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Apps / Import-CrmDataFile err...
Power Apps
Answered

Import-CrmDataFile error: Object reference not set to an instance of an object.

(0) ShareShare
ReportReport
Posted on by 15

Any time I use the Import-CrmDataFile cmdlet, I get an "Object reference not set to an instance of an object." error message (NullReferenceException). This includes PowerShell on my own machine as well inside of Azure DevOps Pipelines. However, the exact same code runs successfully in PowerShell ISE.

 

Btw, Export-CrmDataFile works in all environments without issue.

 

Wondering if anybody else is facing this issue. I put together this test script that can be tested by anyone in any environment.

 

$VerbosePreference = 'Continue'
$InformationPreference = 'Continue'

# check for required variables
if (-not ($env:CrmUrl -and $env:CrmUser -and $env:CrmPassword -and $env:CrmDataFile)) {
 throw 'Must set environment variables: CrmUrl, CrmUser, CrmPassword, CrmDataFile'
}

# for check to see if current user is assigned the System Administrator security role
$sysAdminQuery = '<fetch version="1.0" output-format="xml-platform" mapping="logical" distinct="true">
 <entity name="role">
 <filter type="and">
 <condition attribute="name" operator="eq" value="System Administrator" />
 </filter>
 <link-entity name="systemuserroles" from="roleid" to="roleid" visible="false" intersect="true">
 <link-entity name="systemuser" from="systemuserid" to="systemuserid">
 <filter type="and">
 <condition attribute="systemuserid" operator="eq-userid" />
 </filter>
 </link-entity>
 </link-entity>
 </entity>
</fetch>'

# install ps modules
(Get-Module -Name 'Microsoft.Xrm.Tooling.CrmConnector.PowerShell' -ListAvailable) -or (Install-Module -Name 'Microsoft.Xrm.Tooling.CrmConnector.PowerShell' -Force) | Out-Null
(Get-Module -Name 'Microsoft.Xrm.Tooling.ConfigurationMigration' -ListAvailable) -or (Install-Module -Name 'Microsoft.Xrm.Tooling.ConfigurationMigration' -Force) | Out-Null
Import-Module -Name 'Microsoft.Xrm.Tooling.CrmConnector.PowerShell'
Import-Module -Name 'Microsoft.Xrm.Tooling.ConfigurationMigration'

# test connection
$Connection = Get-CrmConnection -ConnectionString "AuthType=ClientSecret; Url=$env:CrmUrl; ClientId=$env:CrmUser; ClientSecret=$env:CrmPassword"
Write-Host "My user ID is: $($Connection.GetMyCrmUserId())"
Write-Host "I am system administrator: $($Connection.GetEntityDataByFetchSearch($sysAdminQuery) -ne $null)"
Write-Host "Data file: $([System.IO.FileInfo]::new($env:CrmDataFile).Length) bytes"

# import data
Write-Host 'Importing data file...'
Import-CrmDataFile -CrmConnection $Connection -DataFile $env:CrmDataFile -EmitLogToConsole

 

 

The output looks like this:

 

My user ID is: 9e63c21b-bad5-eb11-bacc-000d3a5799ea
I am system administrator: True
Data file: 1145 bytes
Importing data file...
Import-CrmDataFile : Object reference not set to an instance of an object.
At D:\a\_temp\29e74dce-4d76-49f4-9514-c4817cb5d807.ps1:42 char:1
+ Import-CrmDataFile -CrmConnection $Connection -DataFile $env:CrmDataF ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : InvalidOperation: (Microsoft.Xrm.T...portCrmDataFile:ImportCrmDataFile) [Import-CrmDataF
ile], NullReferenceException
+ FullyQualifiedErrorId : -1,Microsoft.Xrm.Tooling.ConfigurationMigration.CmdLets.ImportCrmDataFile
 

 

I have the same question (0)
  • David Jenni Profile Picture
    Microsoft Employee on at

    Hi David

    a couple questions:

    - are you running your script above in Powershell Desktop/Windows? Currently, the XrmTooling PS modules do not support PS Core yet

    - are you running the latest available modules from powershellgallery?

     

    If your NullRefExcp persists, please go through your CSS contact (as we discussed offline) and have them attach your data.zip file (with the schema info) and the PS module version to the incident

     

    thx

    .Dave

  • Rtmaus Profile Picture
    4 on at

    @DavidJen I am having the same issue as @davidjenkins using Github Actions. 

     

    I've tested this on Windows 10 and Windows 2019 (to try and be as close to the GitHub Actions Windows-Latest runner). When run manually it works fine and imports without issue.

     

    Running via Github Actions on Windows Latest and using PowerShell Desktop (note the version in the log is ps-version: 5.1.17763.2090) the output from the log file is as follows:

     

    2021-08-29T01:14:42.1042064Z VERBOSE: Module 'Microsoft.Xrm.Tooling.ConfigurationMigration' was installed successfully to path 
    2021-08-29T01:14:42.1044667Z 'C:\Users\runneradmin\Documents\WindowsPowerShell\Modules\Microsoft.Xrm.Tooling.ConfigurationMigration\1.0.0.60'.
    2021-08-29T01:14:42.1769047Z Install done...
    2021-08-29T01:14:42.1804106Z Connection String: AuthType=ClientSecret;url=https://***.crm6.dynamics.com;ClientId=***;ClientSecret=***;
    2021-08-29T01:14:50.6982204Z Crm connection established: Microsoft.Xrm.Tooling.Connector.CrmServiceClient
    2021-08-29T01:14:50.6989495Z Connected to: Microsoft.Xrm.Tooling.Connector.CrmServiceClient
    2021-08-29T01:14:50.6996060Z ps-version: 5.1.17763.2090
    2021-08-29T01:14:50.7001973Z Importing data...
    2021-08-29T01:14:51.1353746Z VERBOSE: Verbose output log file: 'D:\a\_temp\data-logs\Microsoft.Xrm.Tooling.ConfigurationMigration-2021-08-29.log'
    2021-08-29T01:14:51.1477658Z Microsoft.Xrm.Tooling.ConfigurationMigration.Powershell Information: 8 : Got CrmWebsvcAction Object from the Pipeline and is in Ready State
    2021-08-29T01:14:51.3703403Z Import-CrmDataFile : Object reference not set to an instance of an object.
    2021-08-29T01:14:51.3706480Z At D:\a\tarkine\tarkine\pipeline\data-migration\import-data-config-tool.ps1:53 char:1
    2021-08-29T01:14:51.3707531Z + Import-CrmDataFile -CrmConnection $ConnectionTarget -DataFile $dataFi ...
    2021-08-29T01:14:51.3708547Z + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2021-08-29T01:14:51.3709612Z + CategoryInfo : InvalidOperation: (Microsoft.Xrm.T...portCrmDataFile:ImportCrmDataFile) [Import-CrmDataF 
    2021-08-29T01:14:51.3710731Z ile], NullReferenceException
    2021-08-29T01:14:51.3712413Z + FullyQualifiedErrorId : -1,Microsoft.Xrm.Tooling.ConfigurationMigration.CmdLets.ImportCrmDataFile

     

    This is using the following:

     

    Microsoft.Xrm.Tooling.ConfigurationMigration.Powershell 1.0.0.60

    Microsoft.Xrm.Tooling.CrmConnector.PowerShell 3.3.0.928

     

    I've set this to verbose and this is all the detail that I get from the logs, both Github and the cmdlet itself.

     

    So something odd is going on when run on the windows-latest machines for both DevOps and Github Actions.

     

  • Rtmaus Profile Picture
    4 on at

    @davidjenkins I identified that the issue is in the v1.0.0.60 package. As PowerShell installs the latest version this was causing the runner to install that version.

     

    I overrode the installer with the Required Version command as per below:

    Install-Module "Microsoft.Xrm.Tooling.ConfigurationMigration" -RequiredVersion 1.0.0.53

     

    Running version 1.0.0.53 works as expected. I suspect that there is something wrong with the 1.0.0.60 within Pipelines. 

  • Verified answer
    davidjenkins Profile Picture
    15 on at

    @Rtmaus @DavidJen Good news. The latest version (1.0.0.61) appears to fix the problem.

     

    davidjenkins_0-1631576722893.gif

     

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Forum hierarchy changes are complete!

In our never-ending quest to improve we are simplifying the forum hierarchy…

Ajay Kumar Gannamaneni – Community Spotlight

We are honored to recognize Ajay Kumar Gannamaneni as our Community Spotlight for December…

Leaderboard > Power Apps

#1
WarrenBelz Profile Picture

WarrenBelz 739 Most Valuable Professional

#2
Michael E. Gernaey Profile Picture

Michael E. Gernaey 343 Super User 2025 Season 2

#3
Power Platform 1919 Profile Picture

Power Platform 1919 268

Last 30 days Overall leaderboard