mirror of
https://dev.azure.com/effectory/Survey%20Software/_git/Cloud%20Engineering
synced 2026-02-27 18:52:18 +01:00
Restructured, deleted lists, added service connection list
This commit is contained in:
55
Powershell/Lists/DevOps/ServiceConnections.ps1
Normal file
55
Powershell/Lists/DevOps/ServiceConnections.ps1
Normal 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."
|
||||
|
||||
|
||||
Reference in New Issue
Block a user