将EntityReference属性设置为不运行Microsoft.Xrm.Data.PowerShell

时间:2017-07-28 13:17:12

标签: powershell dynamics-crm dynamics-crm-2016

我无法使用Microsoft.Xrm.Data.PowerShell通过PowerShell更新主题。

以下代码无效:

#Get Theme
$res = Get-CrmRecords -Conn $connection -EntityLogicalName theme -FilterAttribute name -FilterOperator eq -FilterValue $nameOfTheme -Fields themeid, name, logoid, isdefaulttheme, logotooltip, navbarbackgroundcolor, navbarshelfcolor, headercolor, globallinkcolor, selectedlinkeffect, hoverlinkeffect, processcontrolcolor, defaultentitycolor, defaultcustomentitycolor, controlshade, controlborder
$ImportedTheme = $res.CrmRecords[0]

#Get Resource web
$resLogo = Get-CrmRecords -Conn $connection -EntityLogicalName webresource -FilterAttribute name -FilterOperator eq -FilterValue "LogoName"  
$ImportedLogo = $resLogo.CrmRecords[0]

$ERLogo = (New-CrmEntityReference -EntityLogicalName webresource -Id $ImportedLogo.webresourceid)

#Update Theme
$ImportedTheme.logoid = $ERLogo

Set-CrmRecord -Conn $connection -CrmRecord $ImportedTheme 

这会出错:

Impossible d'appeler une méthode dans une expression Null.
Au caractère C:\Users\il...ll\Microsoft.Xrm.Data.PowerShell.psm1:628 : 16
+             if($crmFieldValue -eq $null)
+                ~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation : (:) [], RuntimeException
    + FullyQualifiedErrorId : InvokeMethodOnNull

Le cast spécifié n'est pas valide. Au caractère
C:\Users\il...ll\Microsoft.Xrm.Data.PowerShell.psm1:773 : 9
+         throw $conn.LastCrmException
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : OperationStopped: (:) [], InvalidCastException
    + FullyQualifiedErrorId : Le cast spécifié n'est pas valide.

我认为问题来自Xrm.Data.PowerShell代码的这部分验证:

if($crmFieldValue -eq $null) {  Write-Host "$crmFieldValue -eq $null"
    $newfield.Type = [Microsoft.Xrm.Tooling.Connector.CrmFieldType]::Raw    $value = $null }

我找不到解决方案。你有什么想法吗?

0 个答案:

没有答案