BrownField/Auto-assessment/scripts/Test-Resource-Lock.ps1 (31 lines of code) (raw):

function Test-Resource-Lock { param ( [SecureString]$token, [PSCustomObject]$sddc ) try { #Get SDDC Details $sddcDetails = Get-AVS-SDDC-Details -sddc $sddc # Define the API URL $resourceLockApiUrl = [string]::Format( "https://management.azure.com/subscriptions/{0}/" + "resourceGroups/{1}/providers/Microsoft.AVS/privateClouds/{2}/" + "providers/Microsoft.Authorization/locks?api-version=2016-09-01", $sddcDetails.subscriptionId, $sddcDetails.resourceGroupName, $sddcDetails.sddcName ) # Make the API request $response = Invoke-APIRequest ` -method "Get" ` -url $resourceLockApiUrl ` -token $token # Process the response if ($null -eq $response -or $null -eq $response.value -or $response.value.Count -lt 1) { $Global:recommendations += Get-Recommendation -type "NoResourceLock" -sddcName $sddcDetails.sddcName } } catch { Write-Error "Resource Lock Test failed: $_" } }