--- author: paolomatarazzo ms.author: paoloma ms.date: 02/05/2024 ms.topic: include --- ::: zone pivot="windows-10" ```powershell $assignedAccessConfiguration = @" ]]> "@ $eventLogFilterHashTable = @{ ProviderName = "Microsoft-Windows-AssignedAccess"; StartTime = Get-Date -Millisecond 0 } $namespaceName="root\cimv2\mdm\dmmap" $className="MDM_AssignedAccess" $obj = Get-CimInstance -Namespace $namespaceName -ClassName $className $obj.Configuration = [System.Net.WebUtility]::HtmlEncode($assignedAccessConfiguration) $obj = Set-CimInstance -CimInstance $obj -ErrorVariable cimSetError -ErrorAction SilentlyContinue if($cimSetError) { Write-Output "An ERROR occurred. Displaying error record and attempting to retrieve error logs...`n" Write-Error -ErrorRecord $cimSetError[0] $timeout = New-TimeSpan -Seconds 30 $stopwatch = [System.Diagnostics.Stopwatch]::StartNew() do{ $events = Get-WinEvent -FilterHashtable $eventLogFilterHashTable -ErrorAction Ignore } until ($events.Count -or $stopwatch.Elapsed -gt $timeout) # wait for the log to be available if($events.Count) { $events | ForEach-Object { Write-Output "$($_.TimeCreated) [$($_.LevelDisplayName.ToUpper())] $($_.Message -replace "`n|`r")" } } else { Write-Warning "Timed-out attempting to retrieve event logs..." } Exit 1 } Write-Output "Successfully applied Assigned Access configuration" ``` ::: zone-end ::: zone pivot="windows-11" ```powershell $assignedAccessConfiguration = @" "@ $eventLogFilterHashTable = @{ ProviderName = "Microsoft-Windows-AssignedAccess"; StartTime = Get-Date -Millisecond 0 } $namespaceName="root\cimv2\mdm\dmmap" $className="MDM_AssignedAccess" $obj = Get-CimInstance -Namespace $namespaceName -ClassName $className $obj.Configuration = [System.Net.WebUtility]::HtmlEncode($assignedAccessConfiguration) $obj = Set-CimInstance -CimInstance $obj -ErrorVariable cimSetError -ErrorAction SilentlyContinue if($cimSetError) { Write-Output "An ERROR occurred. Displaying error record and attempting to retrieve error logs...`n" Write-Error -ErrorRecord $cimSetError[0] $timeout = New-TimeSpan -Seconds 30 $stopwatch = [System.Diagnostics.Stopwatch]::StartNew() do{ $events = Get-WinEvent -FilterHashtable $eventLogFilterHashTable -ErrorAction Ignore } until ($events.Count -or $stopwatch.Elapsed -gt $timeout) # wait for the log to be available if($events.Count) { $events | ForEach-Object { Write-Output "$($_.TimeCreated) [$($_.LevelDisplayName.ToUpper())] $($_.Message -replace "`n|`r")" } } else { Write-Warning "Timed-out attempting to retrieve event logs..." } Exit 1 } Write-Output "Successfully applied Assigned Access configuration" ``` ::: zone-end