NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಇತ್ತೀಚೆಗೆ ನಾವು ವಿಂಡೋಸ್ ಸರ್ವರ್‌ಗಳಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರಗಳ ಮಾನ್ಯತೆಯ ಅವಧಿಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಕಾರ್ಯವನ್ನು ಎದುರಿಸಿದ್ದೇವೆ. ಸರಿ, ಪ್ರಮಾಣಪತ್ರಗಳು ಹಲವಾರು ಬಾರಿ ಕುಂಬಳಕಾಯಿಯಾಗಿ ಬದಲಾದ ನಂತರ ನಾನು ಹೇಗೆ ಎದ್ದಿದ್ದೇನೆ, ಅದೇ ಸಮಯದಲ್ಲಿ ಅವರ ನವೀಕರಣದ ಜವಾಬ್ದಾರಿಯುತ ಗಡ್ಡಧಾರಿ ಸಹೋದ್ಯೋಗಿ ರಜೆಯಲ್ಲಿದ್ದರು. ಅದರ ನಂತರ, ಅವರು ಮತ್ತು ನಾನು ಏನನ್ನಾದರೂ ಅನುಮಾನಿಸಿದೆ ಮತ್ತು ಅದರ ಬಗ್ಗೆ ಯೋಚಿಸಲು ನಿರ್ಧರಿಸಿದೆವು. ನಾವು ನಿಧಾನವಾಗಿ NetXMS ಮಾನಿಟರಿಂಗ್ ಸಿಸ್ಟಮ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತಿರುವುದರಿಂದ, ಇದು ಮುಖ್ಯ ಮತ್ತು ತಾತ್ವಿಕವಾಗಿ, ಈ ಕಾರ್ಯಕ್ಕಾಗಿ ಏಕೈಕ ಅಭ್ಯರ್ಥಿಯಾಗಿದೆ.

ಫಲಿತಾಂಶವನ್ನು ಅಂತಿಮವಾಗಿ ಈ ಕೆಳಗಿನ ರೂಪದಲ್ಲಿ ಪಡೆಯಲಾಗಿದೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮತ್ತು ಪ್ರಕ್ರಿಯೆಯು ಸ್ವತಃ ಮುಂದುವರಿಯುತ್ತದೆ.

ಹೋಗು. NetXMS ನಲ್ಲಿ ಅವಧಿ ಮುಗಿಯುವ ಪ್ರಮಾಣಪತ್ರಗಳಿಗೆ ಯಾವುದೇ ಅಂತರ್ನಿರ್ಮಿತ ಕೌಂಟರ್ ಇಲ್ಲ, ಆದ್ದರಿಂದ ನೀವು ನಿಮ್ಮದೇ ಆದದನ್ನು ರಚಿಸಬೇಕು ಮತ್ತು ಡೇಟಾವನ್ನು ಒದಗಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಸಹಜವಾಗಿ, ಪವರ್‌ಶೆಲ್‌ನಲ್ಲಿ, ಇದು ವಿಂಡೋಸ್ ಆಗಿದೆ. ಸ್ಕ್ರಿಪ್ಟ್ ಆಪರೇಟಿಂಗ್ ಸಿಸ್ಟಂನಲ್ಲಿರುವ ಎಲ್ಲಾ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಓದಬೇಕು, ಅಲ್ಲಿಂದ ದಿನಗಳಲ್ಲಿ ಅವುಗಳ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬೇಕು ಮತ್ತು ಈ ಸಂಖ್ಯೆಯನ್ನು NetXMS ಗೆ ರವಾನಿಸಬೇಕು. ಅವನ ಏಜೆಂಟ್ ಮೂಲಕ. ಅಲ್ಲಿ ನಾವು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.

ಆಯ್ಕೆ ಒಂದು, ಸರಳವಾದ. ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕದವರೆಗಿನ ದಿನಗಳ ಸಂಖ್ಯೆಯನ್ನು ಹತ್ತಿರದ ದಿನಾಂಕದೊಂದಿಗೆ ಸರಳವಾಗಿ ಪಡೆಯಿರಿ.

NetXMS ಸರ್ವರ್ ನಮ್ಮ ಕಸ್ಟಮ್ ಪ್ಯಾರಾಮೀಟರ್‌ನ ಅಸ್ತಿತ್ವದ ಬಗ್ಗೆ ತಿಳಿಯಲು, ಅದನ್ನು ಏಜೆಂಟ್‌ನಿಂದ ಸ್ವೀಕರಿಸಬೇಕು. ಇಲ್ಲದಿದ್ದರೆ, ಅದರ ಅನುಪಸ್ಥಿತಿಯ ಕಾರಣ ಈ ನಿಯತಾಂಕವನ್ನು ಸೇರಿಸಲಾಗುವುದಿಲ್ಲ. ಆದ್ದರಿಂದ, ಏಜೆಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್‌ನಲ್ಲಿ nxagend.conf ಎಂಬ ಬಾಹ್ಯ ಪ್ಯಾರಾಮೀಟರ್ ಸ್ಟ್ರಿಂಗ್ ಅನ್ನು ನಾವು ಸೇರಿಸುತ್ತೇವೆ HTTPS.CertificateExpireDateSimple, ಇದರಲ್ಲಿ ನಾವು ಸ್ಕ್ರಿಪ್ಟ್‌ನ ಪ್ರಾರಂಭವನ್ನು ನೋಂದಾಯಿಸುತ್ತೇವೆ:

ExternalParameter = HTTPS.CertificateExpireDateSimple: powershell.exe -File "servershareNetXMS_CertExpireDateSimple.ps1"

ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ನೆಟ್ವರ್ಕ್ನಲ್ಲಿ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ ಎಂದು ಪರಿಗಣಿಸಿ, ನೀವು ಅದರ ಬಗ್ಗೆ ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕು ಮರಣದಂಡನೆ ನೀತಿ, ಮತ್ತು ಇತರ "-NoLogo -NoProfile -NonInteractive" ಅನ್ನು ಸಹ ಮರೆಯಬೇಡಿ, ಉತ್ತಮ ಕೋಡ್ ಓದುವಿಕೆಗಾಗಿ ನಾನು ಅದನ್ನು ಬಿಟ್ಟುಬಿಟ್ಟೆ.

ಪರಿಣಾಮವಾಗಿ, ಏಜೆಂಟ್ ಸಂರಚನೆಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

#
# NetXMS agent configuration file
# Created by agent installer at Thu Jun 13 11:24:43 2019
#
 
MasterServers = netxms.corp.testcompany.ru
ConfigIncludeDir = C:NetXMSetcnxagentd.conf.d
LogFile = {syslog}
FileStore = C:NetXMSvar
SubAgent = ecs.nsm
SubAgent = filemgr.nsm
SubAgent = ping.nsm
SubAgent = logwatch.nsm
SubAgent = portcheck.nsm
SubAgent = winperf.nsm
SubAgent = wmi.nsm
 
ExternalParameter = HTTPS.CertificateExpireDateSimple: powershell.exe -File "servershareNetXMS_CertExpireDateSimple.ps1"

ಇದರ ನಂತರ, ನೀವು ಸಂರಚನೆಯನ್ನು ಉಳಿಸಬೇಕು ಮತ್ತು ಏಜೆಂಟ್ ಅನ್ನು ಮರುಪ್ರಾರಂಭಿಸಬೇಕು. ನೀವು ಇದನ್ನು NetXMS ಕನ್ಸೋಲ್‌ನಿಂದ ಮಾಡಬಹುದು: ಸಂರಚನೆಯನ್ನು ತೆರೆಯಿರಿ (ಎಡಿಟ್ ಏಜೆಂಟ್‌ನ ಕಾನ್ಫಿಗರೇಶನ್ ಫೈಲ್), ಅದನ್ನು ಸಂಪಾದಿಸಿ, ಉಳಿಸಿ ಮತ್ತು ಅನ್ವಯಿಸಿ ಕಾರ್ಯಗತಗೊಳಿಸಿ, ಇದರ ಪರಿಣಾಮವಾಗಿ, ವಾಸ್ತವವಾಗಿ, ಅದೇ ಸಂಭವಿಸುತ್ತದೆ. ನಂತರ ಕಾನ್ಫಿಗರೇಶನ್ ಅನ್ನು ಮರು-ಓದಿ (ಪೋಲ್ > ಕಾನ್ಫಿಗರೇಶನ್), ನಿಮಗೆ ಕಾಯುವ ಶಕ್ತಿ ಇಲ್ಲದಿದ್ದರೆ. ಈ ಹಂತಗಳ ನಂತರ, ನೀವು ನಮ್ಮ ಕಸ್ಟಮ್ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸೇರಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

NetXMS ಕನ್ಸೋಲ್‌ನಲ್ಲಿ ಹೋಗಿ ಡೇಟಾ ಸಂಗ್ರಹಣೆ ಸಂರಚನೆ ನಾವು ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲು ಮತ್ತು ಅಲ್ಲಿ ಹೊಸ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ರಚಿಸಲು ಹೋಗುವ ಪ್ರಾಯೋಗಿಕ ಸರ್ವರ್ (ಭವಿಷ್ಯದಲ್ಲಿ, ಕಾನ್ಫಿಗರೇಶನ್ ನಂತರ, ಅದನ್ನು ಟೆಂಪ್ಲೆಟ್ಗಳಿಗೆ ವರ್ಗಾಯಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ). ಪಟ್ಟಿಯಿಂದ HTTPS.CertificateExpireDateSimple ಅನ್ನು ಆಯ್ಕೆ ಮಾಡಿ, ಸ್ಪಷ್ಟ ಹೆಸರಿನೊಂದಿಗೆ ವಿವರಣೆಯನ್ನು ನಮೂದಿಸಿ, ಪ್ರಕಾರವನ್ನು ಪೂರ್ಣಾಂಕಕ್ಕೆ ಹೊಂದಿಸಿ ಮತ್ತು ಮತದಾನದ ಮಧ್ಯಂತರವನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಿ. ಡೀಬಗ್ ಮಾಡುವ ಉದ್ದೇಶಗಳಿಗಾಗಿ, ಉದಾಹರಣೆಗೆ, 30 ಸೆಕೆಂಡುಗಳನ್ನು ಕಡಿಮೆ ಮಾಡಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ. ಎಲ್ಲವೂ ಸಿದ್ಧವಾಗಿದೆ, ಸದ್ಯಕ್ಕೆ ಸಾಕು.

ನೀವು ಪರಿಶೀಲಿಸಬಹುದು... ಇಲ್ಲ, ಇದು ತುಂಬಾ ಮುಂಚೆಯೇ. ಈಗ, ಸಹಜವಾಗಿ, ನಾವು ಏನನ್ನೂ ಪಡೆಯುವುದಿಲ್ಲ. ಸ್ಕ್ರಿಪ್ಟ್ ಇನ್ನೂ ಬರೆಯದ ಕಾರಣ. ಈ ಲೋಪವನ್ನು ಸರಿಪಡಿಸೋಣ. ಸ್ಕ್ರಿಪ್ಟ್ ಸರಳವಾಗಿ ಸಂಖ್ಯೆಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ, ಪ್ರಮಾಣಪತ್ರದ ಅವಧಿ ಮುಗಿಯುವವರೆಗೆ ಉಳಿದಿರುವ ದಿನಗಳ ಸಂಖ್ಯೆ. ಲಭ್ಯವಿರುವ ಎಲ್ಲಕ್ಕಿಂತ ಕಡಿಮೆ. ಉದಾಹರಣೆ ಸ್ಕ್ರಿಪ್ಟ್:

try {
    # Получаем все сертификаты из хранилища сертификатов
    $lmCertificates = @( Get-ChildItem -Recurse -path 'Cert:LocalMachineMy' -ErrorAction Stop )
     
    # Если сертификатов нет, вернуть "10 лет"
    if ($lmCertificates.Count -eq 0) { return 3650 }
 
    # Получаем Expiration Date всех сертификатов
    $expirationDates = @( $lmCertificates | ForEach-Object { return $_.NotAfter } )
 
    # Получаем наиболее близкий Expiration Date из всех
    $minExpirationDate = ($expirationDates | Measure-Object -Minimum -ErrorAction Stop ).Minimum
 
    # Конвертируем наиболее близкий Expiration Date в количество оставшихся дней с округлением в меньшую сторону
    $daysLeft = [Math]::Floor( ($minExpirationDate - [DateTime]::Now).TotalDays )
 
    # Возвращаем значение
    return $daysLeft
}
catch {
    return -1
}

ಇದು ಈ ರೀತಿ ತಿರುಗುತ್ತದೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

723 ದಿನಗಳು, ಪ್ರಮಾಣಪತ್ರದ ಅವಧಿ ಮುಗಿಯುವವರೆಗೆ ಸುಮಾರು ಎರಡು ವರ್ಷಗಳು ಉಳಿದಿವೆ. ಇದು ತಾರ್ಕಿಕವಾಗಿದೆ, ಏಕೆಂದರೆ ನಾನು ಇತ್ತೀಚೆಗೆ ಎಕ್ಸ್‌ಚೇಂಜ್ ಟೆಸ್ಟ್ ಬೆಂಚ್‌ಗಾಗಿ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಮರು-ವಿತರಿಸಿದೆ.

ಇದು ಸುಲಭವಾದ ಆಯ್ಕೆಯಾಗಿತ್ತು. ಬಹುಶಃ, ಯಾರಾದರೂ ಇದರಿಂದ ತೃಪ್ತರಾಗುತ್ತಾರೆ, ಆದರೆ ನಾವು ಹೆಚ್ಚಿನದನ್ನು ಬಯಸುತ್ತೇವೆ. ಸರ್ವರ್‌ನಲ್ಲಿರುವ ಎಲ್ಲಾ ಪ್ರಮಾಣಪತ್ರಗಳ ಪಟ್ಟಿಯನ್ನು ಹೆಸರಿನ ಮೂಲಕ ಪಡೆದುಕೊಳ್ಳುವ ಕಾರ್ಯವನ್ನು ನಾವು ಹೊಂದಿಸಿದ್ದೇವೆ ಮತ್ತು ಪ್ರಮಾಣಪತ್ರದ ಅವಧಿ ಮುಗಿಯುವವರೆಗೆ ಉಳಿದಿರುವ ದಿನಗಳ ಸಂಖ್ಯೆಯನ್ನು ನೋಡುತ್ತೇವೆ.

ಎರಡನೆಯ ಆಯ್ಕೆ, ಸ್ವಲ್ಪ ಹೆಚ್ಚು ಸಂಕೀರ್ಣವಾಗಿದೆ.

ಮತ್ತೊಮ್ಮೆ ನಾವು ಏಜೆಂಟ್ ಸಂರಚನೆಯನ್ನು ಸಂಪಾದಿಸುತ್ತೇವೆ ಮತ್ತು ಅಲ್ಲಿ, ExternalParameter ನೊಂದಿಗೆ ಸಾಲಿನ ಬದಲಿಗೆ, ನಾವು ಇನ್ನೆರಡನ್ನು ಬರೆಯುತ್ತೇವೆ:

ExternalList = HTTPS.CertificateNames: powershell.exe -File "serversharenetxms_CertExternalNames.ps1"
ExternalParameter = HTTPS.CertificateExpireDate(*): powershell.exe -File "serversharenetxms_CertExternalParameter.ps1" -CertificateId "$1"

В ಬಾಹ್ಯ ಪಟ್ಟಿ ನಾವು ತಂತಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ. ನಮ್ಮ ಸಂದರ್ಭದಲ್ಲಿ, ಪ್ರಮಾಣಪತ್ರದ ಹೆಸರುಗಳೊಂದಿಗೆ ಸ್ಟ್ರಿಂಗ್ಗಳ ಪಟ್ಟಿ. ಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ಈ ಸಾಲುಗಳ ಪಟ್ಟಿಯನ್ನು ನಾವು ಸ್ವೀಕರಿಸುತ್ತೇವೆ. ಪಟ್ಟಿ ಹೆಸರು - HTTPS.Certificate Names.

ಸ್ಕ್ರಿಪ್ಟ್ NetXMS_CertNames.ps1:

#Список возможных имен сертификатов
$nameTypeList = @(
        [System.Security.Cryptography.X509Certificates.X509NameType]::SimpleName,
        [System.Security.Cryptography.X509Certificates.X509NameType]::DnsName,
        [System.Security.Cryptography.X509Certificates.X509NameType]::DnsFromAlternativeName,
        [System.Security.Cryptography.X509Certificates.X509NameType]::UrlName,
        [System.Security.Cryptography.X509Certificates.X509NameType]::EmailName,
        [System.Security.Cryptography.X509Certificates.X509NameType]::UpnName
)
 
#Ищем все сертификаты, имеющие закрытый ключ
$certList = @( Get-ChildItem -Path 'Cert:LocalMachineMy' | Where-Object { $_.HasPrivateKey -eq $true } )
 
#Проходим по списку сертификатов, формируем строку "Имя сертификата - Дата - Thumbprint" и возвращаем её
foreach ($cert in $certList) {
    $name = '(unknown name)'
    try {
        $thumbprint = $cert.Thumbprint
        $dateExpire = $cert.NotAfter
        foreach ($nameType in $nameTypeList) {
            $name_temp = $cert.GetNameInfo( $nameType, $false)
            if ($name_temp -ne $null -and $name_temp -ne '') {
                $name = $name_temp;
                break;
            }
        }
        Write-Output "$($name) - $($dateExpire.ToString('dd.MM.yyyy')) - [T:$($thumbprint)]"
    }
    catch {
        Write-Error -Message "Error processing certificate list: $($_.Exception.Message)"
    }
}

ಮತ್ತು ಈಗಾಗಲೇ ಒಳಗೆ ಬಾಹ್ಯ ನಿಯತಾಂಕ ನಾವು ExternalList ಪಟ್ಟಿಯಿಂದ ಸಾಲುಗಳನ್ನು ಇನ್‌ಪುಟ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಔಟ್‌ಪುಟ್‌ನಲ್ಲಿ ನಾವು ಪ್ರತಿಯೊಂದಕ್ಕೂ ಒಂದೇ ಸಂಖ್ಯೆಯ ದಿನಗಳನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಗುರುತಿಸುವಿಕೆಯು ಪ್ರಮಾಣಪತ್ರದ ಹೆಬ್ಬೆರಳು. HTTPS.CertificateExpireDate ಈ ರೂಪಾಂತರದಲ್ಲಿ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯನ್ನು (*) ಹೊಂದಿದೆ ಎಂಬುದನ್ನು ಗಮನಿಸಿ. ಇದು ಅವಶ್ಯಕವಾಗಿದೆ ಆದ್ದರಿಂದ ಅದು ಬಾಹ್ಯ ಅಸ್ಥಿರಗಳನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ, ಕೇವಲ ನಮ್ಮ ಪ್ರಮಾಣಪತ್ರ ಐಡಿ.

ಸ್ಕ್ರಿಪ್ಟ್ NetXMS_CertExpireDate.ps1:

#Определяем входящий параметр $CertificateId
param (
    [Parameter(Mandatory=$false)]
    [String]$CertificateId
)
 
#Проверка на существование
if ($CertificateId -eq $null) {
    Write-Error -Message "CertificateID parameter is required!"
    return
}
 
#По Thumbprint из строки в $CertificateId ищем сертификат и определяем его Expiration Date 
$certId = $CertificateId;
try {
    if ($certId -match '^.*[T:(?<Thumbprint>[A-Z0-9]+)]$') {
        $thumbprint = $Matches['Thumbprint']
        $certificatePath = "Cert:LocalMachineMy$($thumbprint)"
         
        if (Test-Path -PathType Leaf -Path $certificatePath ) {
            $certificate = Get-Item -Path $certificatePath;
            $certificateExpirationDate = $certificate.NotAfter
            $certificateDayToLive = [Math]::Floor( ($certificateExpirationDate - [DateTime]::Now).TotalDays )
            Write-Output "$($certificateDayToLive)";
        }
        else {
            Write-Error -Message "No certificate matching this thumbprint found on this server $($certId)"
        }
    }
    else {
        Write-Error -Message "CertificateID provided in wrong format. Must be FriendlyName [T:<thumbprint>]"
    }
}
catch {
    Write-Error -Message "Error while executing script: $($_.Exception.Message)"
}

ಸರ್ವರ್‌ನ ಡೇಟಾ ಕಲೆಕ್ಷನ್ ಕಾನ್ಫಿಗರೇಶನ್‌ನಲ್ಲಿ, ನಾವು ಹೊಸ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ. ಪ್ಯಾರಾಮೀಟರ್ನಲ್ಲಿ ನಾವು ನಮ್ಮದನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ HTTPS.CertificateExpireDate(*) ಪಟ್ಟಿಯಿಂದ, ಮತ್ತು (ಗಮನ!) ನಕ್ಷತ್ರವನ್ನು ಬದಲಾಯಿಸಿ {instance}. ಈ ಪ್ರಮುಖ ಅಂಶವು ಪ್ರತಿ ನಿದರ್ಶನಕ್ಕೆ (ಪ್ರಮಾಣಪತ್ರ) ಪ್ರತ್ಯೇಕ ಕೌಂಟರ್ ರಚಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ. ಉಳಿದವು ಹಿಂದಿನ ಆವೃತ್ತಿಯಂತೆ ತುಂಬಿದೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಕೌಂಟರ್‌ಗಳನ್ನು ರಚಿಸಲು ಏನನ್ನಾದರೂ ಹೊಂದಲು, ಇನ್‌ಸ್ಟಾನ್ಸ್ ಡಿಸ್ಕವರಿ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ನೀವು ಪಟ್ಟಿಯಿಂದ ಏಜೆಂಟ್ ಪಟ್ಟಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ ಮತ್ತು ಪಟ್ಟಿ ಹೆಸರು ಕ್ಷೇತ್ರದಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ನಿಂದ ನಮ್ಮ ಬಾಹ್ಯ ಪಟ್ಟಿಯ ಹೆಸರನ್ನು ನಮೂದಿಸಿ - HTTPS.CertificateNames.

ಬಹುತೇಕ ಸಿದ್ಧವಾಗಿದೆ, ಸ್ವಲ್ಪ ನಿರೀಕ್ಷಿಸಿ ಅಥವಾ ಪೋಲ್ > ಕಾನ್ಫಿಗರೇಶನ್ ಮತ್ತು ಪೋಲ್ > ಇನ್ಸ್ಟೆನ್ಸ್ ಡಿಸ್ಕವರಿ ಕಾಯುವುದು ಸಂಪೂರ್ಣವಾಗಿ ಅಸಾಧ್ಯವಾದರೆ ಒತ್ತಾಯಿಸಿ. ಪರಿಣಾಮವಾಗಿ, ನಾವು ಮಾನ್ಯತೆಯ ಅವಧಿಗಳೊಂದಿಗೆ ನಮ್ಮ ಎಲ್ಲಾ ಪ್ರಮಾಣಪತ್ರಗಳನ್ನು ಪಡೆಯುತ್ತೇವೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ನಿನಗೆ ಏನು ಬೇಕು? ಸರಿ, ಹೌದು, ಪರಿಪೂರ್ಣತೆಯ ವರ್ಮ್ ಮಾತ್ರ ದುಃಖದ ಕಣ್ಣುಗಳಿಂದ ಕೌಂಟರ್ ಹೆಸರಿನಲ್ಲಿ ಈ ಅನಗತ್ಯ ಹೆಬ್ಬೆರಳಿನ ಗುರುತನ್ನು ನೋಡುತ್ತದೆ ಮತ್ತು ಲೇಖನವನ್ನು ಮುಗಿಸಲು ನನಗೆ ಬಿಡುವುದಿಲ್ಲ. ಅದನ್ನು ಫೀಡ್ ಮಾಡಲು, ಕೌಂಟರ್ ಪ್ರಾಪರ್ಟೀಸ್ ಅನ್ನು ಮತ್ತೆ ತೆರೆಯಿರಿ ಮತ್ತು ಇನ್‌ಸ್ಟಾನ್ಸ್ ಡಿಸ್ಕವರಿ ಟ್ಯಾಬ್‌ನಲ್ಲಿ, "ಇನ್ಸ್‌ಸ್ಟೆನ್ಸ್ ಡಿಸ್ಕವರಿ ಫಿಲ್ಟರ್ ಸ್ಕ್ರಿಪ್ಟ್" ಫೀಲ್ಡ್‌ನಲ್ಲಿ, ಬರೆಯಲಾದ ಒಂದನ್ನು ಸೇರಿಸಿ NXSL (NetXMS ಆಂತರಿಕ ಭಾಷೆ) ಸ್ಕ್ರಿಪ್ಟ್:

instance = $1;
 if (instance ~= "^(.*)s-s[T:[a-zA-Z0-9]+]$")
 {
 return %(true, instance, $1);
 }
 return true;

ಇದು ಹೆಬ್ಬೆರಳಿನ ಗುರುತನ್ನು ಫಿಲ್ಟರ್ ಮಾಡುತ್ತದೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮತ್ತು ಅದನ್ನು ಫಿಲ್ಟರ್ ಮಾಡಿರುವುದನ್ನು ಪ್ರದರ್ಶಿಸಲು, ವಿವರಣೆ ಕ್ಷೇತ್ರದಲ್ಲಿ ಸಾಮಾನ್ಯ ಟ್ಯಾಬ್‌ನಲ್ಲಿ, CertificateExpireDate ಅನ್ನು ಬದಲಾಯಿಸಿ: {instance} ಗೆ CertificateExpireDate: {instance-name}:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಅಷ್ಟೆ, ಅಂತಿಮವಾಗಿ KDPV ಯಿಂದ ಅಂತಿಮ ಗೆರೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಇದು ಸೌಂದರ್ಯವಲ್ಲವೇ?

ಪ್ರಮಾಣಪತ್ರದ ಅವಧಿ ಮುಗಿದಾಗ ಇಮೇಲ್ ಮೂಲಕ ಬರುವಂತೆ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಹೊಂದಿಸುವುದು ಮಾತ್ರ ಉಳಿದಿದೆ.

1. ಕೌಂಟರ್ ಮೌಲ್ಯವು ನಾವು ಹೊಂದಿಸಿದ ಕೆಲವು ಮಿತಿಗೆ ಕಡಿಮೆಯಾದಾಗ ಅದನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಮೊದಲು ನಾವು ಈವೆಂಟ್ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಬೇಕಾಗಿದೆ. IN ಈವೆಂಟ್ ಕಾನ್ಫಿಗರೇಶನ್ ಎಂಬ ಹೆಸರಿನೊಂದಿಗೆ ಎರಡು ಹೊಸ ಟೆಂಪ್ಲೇಟ್‌ಗಳನ್ನು ರಚಿಸೋಣ CertificateExpireDate_Threshold_Activate ಎಚ್ಚರಿಕೆಯ ಸ್ಥಿತಿಯೊಂದಿಗೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮತ್ತು ಇದೇ CertificateExpireDate_Threshold_Deactivate ಸಾಮಾನ್ಯ ಸ್ಥಿತಿಯೊಂದಿಗೆ.

2. ಮುಂದೆ, ಕೌಂಟರ್ ಪ್ರಾಪರ್ಟೀಸ್‌ಗೆ ಹೋಗಿ ಮತ್ತು ಟ್ರೆಶೋಲ್ಡ್ಸ್ ಟ್ಯಾಬ್‌ನಲ್ಲಿ ಮಿತಿಯನ್ನು ಹೊಂದಿಸಿ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಅಲ್ಲಿ ನಾವು ರಚಿಸಿದ ಈವೆಂಟ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ CertificateExpireDate_Threshold_Activate ಮತ್ತು CertificateExpireDate_Threshold_Deactivate, ಮಾದರಿಗಳ ಸಂಖ್ಯೆಯನ್ನು (ಮಾದರಿಗಳು) 1 ಕ್ಕೆ ಹೊಂದಿಸಿ (ನಿರ್ದಿಷ್ಟವಾಗಿ ಈ ಕೌಂಟರ್‌ಗೆ ಹೆಚ್ಚಿನದನ್ನು ಹೊಂದಿಸುವಲ್ಲಿ ಯಾವುದೇ ಅರ್ಥವಿಲ್ಲ), ಮೌಲ್ಯವು 30 (ದಿನಗಳು), ಉದಾಹರಣೆಗೆ, ಮುಖ್ಯವಾಗಿ ಹೊಂದಿಸಿ, ಮತ್ತು, ಈವೆಂಟ್ ಪುನರಾವರ್ತನೆಯ ಸಮಯ. ಉತ್ಪಾದನೆಯಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರಗಳಿಗಾಗಿ, ನಾನು ಅದನ್ನು ದಿನಕ್ಕೆ ಒಮ್ಮೆ (86400 ಸೆಕೆಂಡುಗಳು) ಹೊಂದಿಸಿದ್ದೇನೆ, ಇಲ್ಲದಿದ್ದರೆ ನೀವು ಅಧಿಸೂಚನೆಗಳಲ್ಲಿ ಮುಳುಗಬಹುದು (ಇದು ಒಮ್ಮೆ ಸಂಭವಿಸಿತು, ವಾರಾಂತ್ಯದಲ್ಲಿ ಅಂಚೆಪೆಟ್ಟಿಗೆ ತುಂಬಿತ್ತು). ಡೀಬಗ್ ಮಾಡುವ ಸಮಯಕ್ಕಾಗಿ, ಉದಾಹರಣೆಗೆ, 60 ಸೆಕೆಂಡುಗಳನ್ನು ಕಡಿಮೆ ಹೊಂದಿಸಲು ಇದು ಅರ್ಥಪೂರ್ಣವಾಗಿದೆ.

3. ಇನ್ ಕ್ರಿಯೆಯ ಸಂರಚನೆ ಈ ರೀತಿಯ ಅಧಿಸೂಚನೆ ಪತ್ರ ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ರಚಿಸಿ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಈ ಎಲ್ಲಾ %m, %S, ಇತ್ಯಾದಿ. - ನಮ್ಮ ಪ್ಯಾರಾಮೀಟರ್‌ನಿಂದ ಮೌಲ್ಯಗಳನ್ನು ಬದಲಿಸುವ ಮ್ಯಾಕ್ರೋಗಳು. ಅವುಗಳನ್ನು ಹೆಚ್ಚು ವಿವರವಾಗಿ ವಿವರಿಸಲಾಗಿದೆ ಕೈಪಿಡಿ NetXMS.

4. ಮತ್ತು ಅಂತಿಮವಾಗಿ, ಹಿಂದಿನ ಅಂಕಗಳನ್ನು ಒಟ್ಟುಗೂಡಿಸಿ ಈವೆಂಟ್ ಪ್ರಕ್ರಿಯೆ ನೀತಿ ನಿಯಮವನ್ನು ರಚಿಸಿ ಅದರ ಪ್ರಕಾರ ಎಚ್ಚರಿಕೆಯನ್ನು ರಚಿಸಲಾಗುತ್ತದೆ ಮತ್ತು ಪತ್ರವನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ನಾವು ನೀತಿಯನ್ನು ಉಳಿಸುತ್ತೇವೆ, ಎಲ್ಲವನ್ನೂ ಪರೀಕ್ಷಿಸಬಹುದು. ಪರಿಶೀಲಿಸಲು ಹೆಚ್ಚಿನ ಮಿತಿಯನ್ನು ಹೊಂದಿಸೋಣ. ನನ್ನ ಹತ್ತಿರದ ಪ್ರಮಾಣಪತ್ರವು 723 ದಿನಗಳಲ್ಲಿ ಮುಕ್ತಾಯಗೊಳ್ಳುತ್ತದೆ, ಪರಿಶೀಲಿಸಲು ನಾನು ಅದನ್ನು 724 ಗೆ ಹೊಂದಿಸಿದ್ದೇನೆ. ಪರಿಣಾಮವಾಗಿ, ನಾವು ಈ ಕೆಳಗಿನ ಎಚ್ಚರಿಕೆಯನ್ನು ಪಡೆಯುತ್ತೇವೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಮತ್ತು ಈ ಇಮೇಲ್ ಅಧಿಸೂಚನೆ:

NetXMS ನಲ್ಲಿ ವಿಂಡೋಸ್‌ನಲ್ಲಿ ಪ್ರಮಾಣಪತ್ರದ ಮುಕ್ತಾಯ ದಿನಾಂಕವನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾಗುತ್ತಿದೆ

ಈಗ ಖಚಿತವಾಗಿದೆ ಅಷ್ಟೆ. ಸಹಜವಾಗಿ, ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಅನ್ನು ಹೊಂದಿಸಲು ಮತ್ತು ಗ್ರಾಫ್‌ಗಳನ್ನು ನಿರ್ಮಿಸಲು ಸಾಧ್ಯವಿದೆ, ಆದರೆ ಪ್ರಮಾಣಪತ್ರಗಳಿಗೆ ಇವುಗಳು ಸ್ವಲ್ಪ ಅರ್ಥಹೀನ ಮತ್ತು ನೀರಸ ನೇರ ರೇಖೆಗಳಾಗಿರುತ್ತವೆ, ಉದಾಹರಣೆಗೆ ಪ್ರೊಸೆಸರ್ ಅಥವಾ ಮೆಮೊರಿ ಲೋಡ್‌ನ ಗ್ರಾಫ್‌ಗಳಂತೆ. ಆದರೆ, ಈ ಬಗ್ಗೆ ಸ್ವಲ್ಪ ಬೇರೆ ಸಮಯ.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ