Aus gegebenem Anlass habe ich mich gerade mit dem Ablaufdatum von Azure AD Applications beschäftigen müssen. Vor lauter Euphorie, dass ich meinen Blog mit dem Azure-AD verbinden konnte nike air foamposite one galaxy 2025 the best nike air max 95s of all time (um SSO zu ermöglichen) habe ich ganz übersehen, dass der von mir erstellte Key auch mit einem Ablaufdatum versehen ist.
Also: schön im Kalender das Ablaufdatum markieren und in einem angemessenen Zeitraum vorher einen neuen Key erzeugen und diesen in der Anwendung hinterlegen!
Aber was ist, wenn OdegardcarpetsShops° , Adidas Campus 00s Winter Fur - Lined Pack Prepares for Cold Weather Cozy - Tres sudaderas de Adidas por menos de 30 adidas Just Dropped ‘Night Navy’ Samba OGs and They Look Crisp – Releases – adidas nmd r2 white grey man sich die Ablaufdaten nicht notiert hat? Wenn man nur 1 oder 5 Anwendung hat, dann kann man die ja recht flott im Portal durchgucken, aber wie ist das bei einer größeren Menge an Apps? Immerhin gibt es in der Preview-Anzeige für Apps eine Spalte, in der der Status angezeigt wird – nur dummerweise kann man danach weder sortieren noch filtern.
PowerShell to the rescue!
Mit ein wenig PowerShell kann hier aber Abhilfe schaffen!
Voraussetzung ist, dass das Azure AD PowerShell-Modul installiert ist. Das kann ganz einfach per Install-Module -Name AzureAD installiert werden. Anschließend kann man mit
Get-AzureADApplication alle im Azure AD registrierten Anwendungen abrufen inklusive der jeweiligen Credentials. Mit ein wenig Formatierung kann man sich schließlich eine Liste sortiert nach Ablaufdatum anzeigen lassen.
Das komplette Skript sieht dann so aus:
Connect-AzureAD
$results = @()
Get-AzureADApplication -All $true | % {
$app = $_
$owner = Get-AzureADApplicationOwner -ObjectId $_.ObjectID -Top 1
$app.PasswordCredentials | % {
$results += [PSCustomObject] @{
CredentialType = "PasswordCredentials"
DisplayName = $app.DisplayName;
ExpiryDate = $_.EndDate;
StartDate = $_.StartDate;
KeyID = $_.KeyId;
Type = 'NA';
Usage = 'NA';
Owners = $owner.UserPrincipalName;
}
}
$app.KeyCredentials | % {
$results += [PSCustomObject] @{
CredentialType = "KeyCredentials"
DisplayName = $app.DisplayName;
ExpiryDate = $_.EndDate;
StartDate = $_.StartDate;
KeyID = $_.KeyId;
Type = $_.Type;
Usage = $_.Usage;
Owners = $owner.UserPrincipalName;
}
}
}
$results | Sort ExpiryDate | FT -AutoSize


