Azure KeyVault Secret 即将过期列表作为通知通过电子邮件发送

Azure KeyVault Secret near expiry list to email as a notification

我正在尝试将已过期和即将过期的机密列表发送到电子邮件 ID。 但是我看不到即将到期的秘密。 有人帮助如何接近即将到期的 azure keyVault 秘密吗?

我正在使用以下代码:

    if ($secret.Expires) {
        $secretExpiration = Get-date $secret.Expires -Format yyyyMMdd
        if ($ExpirationDate -gt $secretExpiration) {
            if ($CurrentDate -lt $secretExpiration) {
                $NearExpirationSecrets += New-Object PSObject -Property @{
                    Name           = $secret.Name;
                    Category       = 'SecretNearExpiration';
                    KeyVaultName   = $KeyVault.VaultName;
                    ExpirationDate = $secret.Expires;
                }
            }

您可以尝试下面的脚本,在我的示例中,A secret that will expire in 7 days 表示 secret is about to expired,该脚本获取密钥库中即将过期的所有机密。

$KeyVault = Get-AzKeyVault -ResourceGroupName <group-name> -VaultName joykeyvault 
$secrets = Get-AzKeyVaultSecret -VaultName joykeyvault 
$Date = Get-Date (Get-Date).AddDays(7) -Format yyyyMMdd
$CurrentDate = Get-Date -Format yyyyMMdd
$NearExpirationSecrets = @()

foreach($secret in $secrets){
    if($secret.Expires) {
    $secretExpiration = Get-Date $secret.Expires -Format yyyyMMdd
    if($secretExpiration -lt $Date -and $secretExpiration -gt $CurrentDate){
           $NearExpirationSecrets += New-Object PSObject -Property @{
                    Name           = $secret.Name;
                    Category       = 'SecretNearExpiration';
                    KeyVaultName   = $KeyVault.VaultName;
                    ExpirationDate = $secret.Expires;
                }

    }
}
}