BrownField/Auto-assessment/scripts/Get-AVS-Credentials.ps1 (32 lines of code) (raw):

function Get-AVS-Credentials { param ( [SecureString]$token, [PSCustomObject]$sddc ) # Get AVS SDDC details $sddcDetails = Get-AVS-SDDC-Details -sddc $sddc # Define the API endpoint $apiUrl = [string]::Format( "https://management.azure.com/subscriptions/{0}/resourceGroups/{1}/" + "providers/Microsoft.AVS/privateClouds/{2}/listAdminCredentials?api-version=2023-09-01", $sddcDetails.subscriptionId, $sddcDetails.resourceGroupName, $sddcDetails.sddcName ) # Make the API request $response = Invoke-APIRequest -method "Post" ` -url $apiUrl ` -token $token if ($null -eq $response) { Write-Error "Failed to get AVS credentials." return } $securevcenterPassword = $response.vcenterPassword.Trim() | ConvertTo-SecureString -AsPlainText -Force $securensxtPassword = $response.nsxtPassword.Trim() | ConvertTo-SecureString -AsPlainText -Force return @{ vCenterUsername = $response.vcenterUsername.Trim() vCenterPassword = $securevcenterPassword nsxtUsername = $response.nsxtUsername.Trim() nsxtPassword = $securensxtPassword } }