1+ Install-Module - Name Microsoft.Xrm.Tooling.CrmConnector.PowerShell - Force - Scope CurrentUser - AllowClobber
2+
3+ Write-Host " Updating user settings to English (United Kingdom)"
4+
5+ $conn = Get-CrmConnection - ConnectionString " Url=$URL ; ClientId=$ClientId ; ClientSecret=$ClientSecret ; AuthType=ClientSecret"
6+
7+ $condition = [Microsoft.Xrm.Sdk.Query.ConditionExpression ]::new();
8+ $condition.AttributeName = " localeid" ;
9+ $condition.Operator = ConditionOperator.NotEqual;
10+ $condition.Values.Add (2057 );
11+
12+ $filter = [Microsoft.Xrm.Sdk.Query.FilterExpression ]::new();
13+ $filter.Conditions.Add ($condition );
14+
15+ $query = [Microsoft.Xrm.Sdk.Query.QueryExpression ]::new(" usersettings" );
16+ $query.ColumnSet.AddColumns (" localeid" );
17+ $query.Criteria.AddFilter ($filter );
18+
19+ $executeMultipleSettings = [Microsoft.Xrm.Sdk.ExecuteMultipleSettings ]::new()
20+ $executeMultipleSettings.ContinueOnError = $true
21+ $executeMultipleSettings.ReturnResponses = $false
22+
23+ $executeMultipleRequests = [Microsoft.Xrm.Sdk.OrganizationRequestCollection ]::new()
24+
25+ $usersettings = $conn.RetrieveMultiple ($query ).Entities
26+ $usersettings | ForEach-Object {
27+ $_.Attributes [' localeid' ] = 2057
28+ $updateRequest = [Microsoft.Xrm.Sdk.Messages.UpdateRequest ]::new()
29+ $updateRequest.Target = $_
30+ $executeMultipleRequests.Add ($updateRequest )
31+ }
32+
33+ $executeMultipleRequest = [Microsoft.Xrm.Sdk.Messages.ExecuteMultipleRequest ]::new()
34+ $executeMultipleRequest.Settings = $executeMultipleSettings
35+ $executeMultipleRequest.Requests = $executeMultipleRequests
36+ $conn.Execute ($executeMultipleRequest )
0 commit comments