Tag Archives: powershell

PowerShell Cmdlet erstellen und benutzen

Das CRM mit seiner umfangreichen API bietet sich gerade zu an um automatisiert zu werden. Microsoft liefert bereits einige Cmdlets mit, diese ermöglichen jedoch nur den Zugriff auf Aktionen welche über den Deployment Service verfügbar sind. Andere Aufgaben wie z.B. einen neuen User erstellen und berechtigen, können damit nicht automatisiert werden. Die PowerShell lässt sich jedoch ganz leicht erweitern. Wie das geht, zeige ich in diesem Post.

Continue reading

Deployment Webservice – “ActiveDirectoryRightsCheck raising error”

Wenn du versuchst über den Deployment Webservice oder über PowerShell, mit dem “Create-Organization” Cmdlet, eine neue Organisation zu erstellen erhältst du die Fehlermeldung “ActiveDirectoryRightsCheck raising error : The current user does not have required permissions (read/write) for the following Active Directory group: CN=ReportingGroup GUID,OU=X,DC=Y,DC=Z”.

Die volle PowerShell Fehlermeldung:

Source : mscorlib
Method : HandleReturnMessage
Date : ….
Time : ….
Error : Message: The Deployment Service cannot process the request because one or more validation checks failed.
ErrorCode: –2147167645
Stack Trace :
======================================================================================================================
Inner Exception Level 1 :
==DeploymentServiceFault Info==========================================================================================
Error : The Deployment Service cannot process the request because one or more validation checks failed.
Time : …
ErrorCode : –2147167645
Date : …
Time : …
Error Items:
ActiveDirectoryRightsCheck raising error : The current user does not have required permissions (read/write) for the following Active Directory group:
CN=ReportingGroup GUID,OU=X,DC=Y,DC=Z
======================================================================================================================
+ CategoryInfo : InvalidData: (Microsoft.Crm.P…anizationCmdlet:NewCrmOrganizationCmdlet) [New-CrmOrganization], FaultException`1
+ FullyQualifiedErrorId : CRM Deployment Cmdlet Error,Microsoft.Crm.PowerShell.NewCrmOrganizationCmdlet
+ PSComputerName : ……

Ursache
Der Service Account des Deployment Webservices hat nicht die benötigten Rechte um auf der “ReportingGroup {GUID}” AD-Gruppe Änderungen vorzunehmen.

Lösung
Der Service Account muss im Active Directory auf der OU, in dem die CRM Gruppen liegen, berechtigt werden.

Deployment Service 1

Deployment Service 2

Organization Versionen mit PowerShell auslesen

Das folgende Script liest die Versionen aller Mandanten und gibt das entsprechende UR an.

Add-PSSnapin Microsoft.Crm.PowerShell
$orgs =  Get-CrmOrganization
foreach ($org in $orgs)
{
Write-Host Version: $org.Version

If ($org.Version -eq ‘5.0.9688.53’)
{
Write-Host ‘RC’
}
ElseIf ($org.Version -eq ‘5.0.9688.583’)
{
Write-Host ‘RTM’
}
ElseIf ($org.Version -eq ‘5.0.9688.1045’)
{
Write-Host ‘UR1’
}
ElseIf ($org.Version -eq ‘5.0.9688.1155’)
{
Write-Host ‘UR2’
}
ElseIf ($org.Version -eq ‘5.0.9688.1244’)
{
Write-Host ‘UR3’
}
ElseIf ($org.Version -eq ‘5.0.9688.1450’)
{
Write-Host ‘UR4’
}
ElseIf ($org.Version -eq ‘5.0.9688.1533’)
{
Write-Host ‘UR5’
}
ElseIf ($org.Version -eq ‘5.0.9689.1985’ -or $org.Version -eq ‘5.0.9690.1992’)
{
Write-Host ‘UR6’
}
ElseIf ($org.Version -eq ‘5.0.9690.2165’)
{
Write-Host ‘UR7’
}
ElseIf ($org.Version -eq ‘5.0.9690.2243’)
{
Write-Host ‘UR8’
}
ElseIf ($org.Version -eq ‘5.0.9690.2835’ -or $org.Version -eq ‘5.0.9690.2838’ -or $org.Version -eq ‘5.0.9690.2903’)
{
Write-Host ‘UR11’
}
ElseIf ($org.Version -eq ‘5.0.9690.3218’ -or $org.Version -eq ‘5.0.9690.3233’ -or $org.Version -eq ‘5.0.9690.3236’)
{
Write-Host ‘UR12’
}
ElseIf ($org.Version -eq ‘5.0.9690.3448 ‘)
{
Write-Host ‘UR13’
}
ElseIf ($org.Version -eq ‘5.0.9690.3557’)
{
Write-Host ‘UR14’
}
ElseIf ($org.Version -eq ‘5.0.9690.3731’)
{
Write-Host ‘UR15’
}
Else
{
Write-Host ‘Version not found!’
}
Write-Host
}

Read-Host