Restructured, deleted lists, added service connection list

This commit is contained in:
Jurjen Ladenius
2023-08-22 15:28:16 +02:00
parent e93d481b0a
commit 54545021e8
44 changed files with 152 additions and 176163 deletions

View File

@@ -0,0 +1,55 @@
class ServiceConnection {
[string] $Id = ""
[string] $Name = ""
[string] $OperationStatus = ""
[string] $AuthorizationScheme = ""
[string] $ServicePrincipalApplicationId = ""
[string] $ServicePrincipalObjectId = ""
[string] $ServicePrincipalName = ""
[string] $ServicePrincipalEndDateTime = ""
}
[string] $date = Get-Date -Format "yyyy-MM-dd HHmm"
$fileName = ".\$date serviceconnections.csv"
Write-Host "========================================================================================================================================================================"
Write-Host "Creating service connection overview."
Write-Host "========================================================================================================================================================================"
$token = "{INSERT_PERSONAL_ACCESS_TOKEN}"
$token = [System.Convert]::ToBase64String([System.Text.Encoding]::ASCII.GetBytes(":$($token)"))
$organization = "effectory"
$project = "Survey%20Software"
$url="https://dev.azure.com/$organization/$project/_apis/serviceendpoint/endpoints?api-version=6.0-preview.4"
$head = @{ Authorization =" Basic $token" }
$response = Invoke-RestMethod -Uri $url -Method GET -Headers $head
[ServiceConnection[]]$Result = @()
$response.value | ForEach-Object {
[ServiceConnection] $serviceConnection = [ServiceConnection]::new()
$serviceConnection.Id = $_.id
$serviceConnection.Name = $_.name
$serviceConnection.OperationStatus = $_.operationStatus
$serviceConnection.AuthorizationScheme = $_.authorization.scheme
$principalid = $_.authorization.parameters.serviceprincipalid
if ($null -ne $principalid) {
$principal = Get-AzADServicePrincipal -ApplicationId $principalid
$credential = Get-AzADAppCredential -ApplicationId $principalid
$serviceConnection.ServicePrincipalApplicationId = $principalid
$serviceConnection.ServicePrincipalObjectId = $principal.Id
$serviceConnection.ServicePrincipalName = $principal.DisplayName
$serviceConnection.ServicePrincipalEndDateTime = $credential.EndDateTime
}
$Result += $serviceConnection
}
$Result | Export-Csv -Path $fileName -Append -NoTypeInformation
Write-Host "========================================================================================================================================================================"
Write-Host "Done."