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