functions/azure/Get-AzStoredServicePrincipalCredential.ps1
function Get-AzStoredServicePrincipalCredential { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] [string] $TenantId, [Parameter(Mandatory = $true)] [string] $SubscriptionId, [Parameter(Mandatory = $true)] [string] $ServicePrincipalName ) $targetName = "$TenantId-$SubscriptionId-$ServicePrincipalName" if (-not (Get-Module -ListAvailable -Name CredentialManager)) { Install-Module CredentialManager -Force -Scope CurrentUser } Import-Module CredentialManager -Force $cred = Get-StoredCredential -Target $targetName if (-not $cred) { Write-Error "Keine gespeicherten Anmeldedaten für Target '$targetName' gefunden." return } $securePassword = $cred.Password if ($securePassword -isnot [System.Security.SecureString]) { $securePassword = ConvertTo-SecureString $securePassword -AsPlainText -Force } return [PSCustomObject]@{ ApplicationId = $cred.UserName ClientSecret = $cred.Password TenantId = $TenantId SubscriptionId = $SubscriptionId TargetName = $targetName Credential = New-Object System.Management.Automation.PSCredential ($cred.UserName, $securePassword) } } |