áááŒá¬áá±ážáá®á áá»áœááºá¯ááºááá¯á·ááẠWindows áá¬áá¬áá»á¬ážááœáẠáááºááŸááºáá»á¬ážá ááá¬ážáááºááŸá¯áá¬áááᯠá á±á¬áá·áºááŒáá·áºáááá·áºáá¬áááºááŸáá·áº áááºááá¯ááºáá²á·ááááºá áá±á¬ááºážááŒá®á áááºááŸááºáá»á¬ážááᯠá¡ááŒáááºáá±á«ááºážáá»á¬ážá áœá¬ ááœáŸá±ááá¯á¶áá®ážá¡ááŒá ẠááŒá±á¬ááºážáá²ááŒá®ážáá±á¬ááºááœááºá áááºážááá¯á·ááááºáááºážááá¯ážááŸá¯á¡ááœáẠáá¬áááºááŸááá±á¬ áá¯ááºáá±á¬áºááá¯ááºáááºááẠá¡á¬ážáááºáááºááœáẠáá¯ááºááááºááœá±ážáá»á¬áž á¡ááŒáááºáá±á«ááºážáá»á¬ážá áœá¬ ááœáŸá±ááá¯á¶áá®ážá¡ááŒá áºááá¯á· ááŒá±á¬ááºážáá²ááœá¬ážááŒá®ážáá±á¬áẠáá»áœááºá¯ááºááá¬áá«áááºá á¡á²áá®áá±á¬áẠáá°áá²á·áá»áœááºáá±á¬áº áá áºáá¯áá¯ááᯠáá¶ááááŒá áºááááŒá®áž á ááºážá á¬ážááá¯á· áá¯á¶ážááŒááºááá¯ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠNetXMS á á±á¬áá·áºááŒáá·áºáá±ážá áá áºááᯠááŒááºážááŸááºážá áœá¬ á¡áá±á¬ááºá¡áááºáá±á¬áºáá±áá±á¬ááŒá±á¬áá·áº áááºážááẠáááºáááŒá áºáá¬ááŒá®áž áá°á¡áá á€áá¯ááºáááºážá¡ááœáẠáá áºáá¯áááºážáá±á¬ ááá¯ááºá á¬ážááŸááºáá±á¬ááºážááŒá áºáááºá
áá±á¬ááºáá¯á¶ážááááºááᯠá¡á±á¬ááºáá«áá¯á¶á á¶ááŒáá·áº áááŸááá²á·áá«áááºá
ááŒá®ážáá±á¬á· ááŒá
áºá
ááºááá¯ááºááá¯ááºá áááºááœá¬ážáá±áááºá
ááœá¬ážáá±á¬á·á NetXMS ááœáẠáááºáááºážáá¯ááºáá¯á¶ážááá·áº áááºááŸááºáá»á¬ážá¡ááœáẠáá«áááºááá·áº áá±á¬ááºáᬠááá«ááŸááá±á¬ááŒá±á¬áá·áº áááºážááᯠááá·áºááá¯ááºááá¯áẠáááºáá®ážááŒá®áž áá±áá¬áá±ážááá¯á·ááẠscripts áá»á¬ážááᯠá¡áá¯á¶ážááŒá¯ááẠááá¯á¡ááºáá«áááºá áá¯ááºáá«áááºá Powershell ááŸá¬á áá«á Windows ááŒá
áºáá«áááºá áá¬ááºááœáŸááºážááẠáááºáááºááŸá¯á
áá
áºááŸá áááºááŸááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááºááá·áºáááºá áááºážááá¯á·á áááºáááºážáá¯ááºáá¯á¶ážáááºááᯠááá¯áá±áá¬á០áááºááá¯ááºážá¡ááœááºáž áá°áᬠá€áá¶áá«ááºááᯠNetXMS ááá¯á· áá±ážááá¯á·ááá·áºáááºá áá°á·á¡á±ážáá»áá·áºááŸáááá·áºá á¡á²áá®ááŸá¬áá² á
áááºá
option ááá¯áá á»áá¯á¡ááá¯ážááŸááºážáá¯á¶ážá á¡áá®ážá ááºáá¯á¶ážáááºá áœá²ááŒáá·áº áááºááŸááºááááºáááºážáá¯ááºáá¯á¶ážáááºá¡áá áááºá¡áá±á¡ááœááºááᯠááá¯ážááŸááºážá áœá¬ááá°áá«á
NetXMS áá¬áá¬ááẠáá»áœááºá¯ááºááá¯á·á á áááºááŒáá¯áẠááá·áºáááºáá±á¬ááºáá»á¬áž áááºááŸáááŸá¯ááᯠááááŸááááºá¡ááœááºá áááºážááᯠá¡á±ážáá»áá·áºáá¶á០áááºáá¶ááááºááŒá áºáááºá ááá¯ááºáá«áá áááºážááááŸáááŒááºážááŒá±á¬áá·áº á€ááá·áºáááºáá»ááºááᯠááá·áºááááá«á ááá¯á·ááŒá±á¬áá·áº agent configuration file ááœááºá nxagentd.conf ááŒááºá parameter string áá¯áá±á«áºáááºá HTTPS.CertificateExpireDateSimpleáá¬ááºááœáŸááºážá áááºááŒááºážááᯠáá»áœááºá¯ááºááá¯á· ááŸááºáá¯á¶áááºáá¬ážááá·áºá
ExternalParameter = HTTPS.CertificateExpireDateSimple: powershell.exe -File "servershareNetXMS_CertExpireDateSimple.ps1"
áá¬ááºááœáŸááºážááᯠááœááºáááºáá±á«áºááœáẠááœáŸáá·áºáááºáá¬ážáááºááᯠáááááŒá¯ááááẠááá¯á¡ááºáááºá
ááááºá¡áá±ááŒáá·áºá á¡á±ážáá»áá·áº config ááẠá€áá²á·ááá¯á· ááŒá áºáááº-
#
# 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"
áááºážááŒá®ážáá±á¬ááºá áááºááẠconfig ááá¯ááááºážáááºážááŒá®ážá¡á±ážáá»áá·áºááá¯ááŒááºáááºá áááºáááºááá¯á¡ááºáááºá áááºážááᯠNetXMS ááœááºááá¯ážááºá០áááºáá¯ááºáá±á¬ááºááá¯ááºáááº- config (á¡á±ážáá»áá·áºáááœá²á·á ááºážááŸá¯áá¯á¶á á¶ááá¯ááºááᯠáááºážááŒááºáááº) ááá¯ááœáá·áºáá«á áááºážááᯠáááºážááŒááºáá«á Save&Apply ááᯠáá¯ááºáá±á¬ááºáá«á ááááºá¡áá±ááŒáá·áº á¡ááŸááºááááºá¡á¬ážááŒáá·áº á¡áá°áá°áááºááŒá áºáááá·áºáááºá ááá¯á·áá±á¬áẠá¡ááá·áºá á±á¬áá·áºááá¯ááºážááẠááœááºá¡á¬áž áá¯á¶ážááááŸááá«á ááœá²á·á ááºážááŸá¯áá¯á¶á ᶠ(Poll > Configuration) ááᯠááŒááºáááºáááºááŸá¯áá«á á€á¡ááá·áºáá»á¬ážááŒá®ážáá±á¬ááºá áááºááẠáá»áœááºá¯ááºááá¯á·á á áááºááŒáá¯áẠááá·áºáááºáá±á¬ááºááᯠááá·áºááá¯ááºááá«áááºá
NetXMS ááœááºááá¯ážááºááœáẠááœá¬ážáá«á áá±áᬠá á¯á ááºážááŸá¯ ááœá²á·á ááºážááŸá¯ áá»áœááºá¯ááºááá¯á·ááẠáááºááŸááºáá»á¬ážááᯠá á±á¬áá·áºááŒáá·áºááŒá®áž ááá¯áá±áá¬ááœáẠááá·áºáááºáá»ááºá¡áá áºáá áºáᯠáááºáá®ážááá·áº á ááºážáááºáá¬áᬠ(á¡áá¬áááºááœááºá ááœá²á·á ááºážááŸá¯ááŒá®ážáá±á¬ááºá áááºážááᯠáá¯á¶á á¶áááááºáá»á¬ážááá¯á· ááœáŸá²ááŒá±á¬ááºážááẠá¡áááá¹áá¬ááºááŸááá«áááº)á á á¬áááºážá០HTTPS.CertificateExpireDateSimple ááá¯ááœá±ážáá»ááºáá«á ááŸááºážáááºážáá±á¬á¡áááºááŒáá·áº áá±á¬áºááŒáá»ááºáá áºáá¯ááá¯ááá·áºáá«á á¡áá»áá¯ážá¡á á¬ážááᯠááááºážááŒáá·áºá¡ááŒá áºáááºááŸááºááŒá®áž áá²áá¯á¶ááŒá¬ážáá¬áááᯠá á®á ááºáááºááŸááºáá«á á¡ááŸá¬ážááŸá¬ááŒááºááŒááºáž áááºááœááºáá»ááºá¡ááœááºá á¥ááá¬á á áá¹ááá·áº 30 ááᯠááá¯ááá¯á¡á±á¬áẠááŒá¯áá¯ááºááŒááºážááẠá¡áááá¹áá¬ááºááŸááááºá á¡á¬ážáá¯á¶ážá¡áááºááá·áºááŒá áºáá±áá«ááŒá®á áá®áá±á¬ááºááᯠáá¯á¶áá±á¬ááºáá«ááŒá®á
á á áºáá±ážááá¯ááºáá«áááº... ááá¯ááºáá°ážá á á±á¬ááœááºážáááºá á¡áá¯áá±á¬á·á áá¯ááºáá«áááºá áá«ááá¯á·áá¬ááŸáááá¯ááºááŸá¬ááá¯ááºáá°ážá áá¬ááºááœáŸááºážááá±ážááá±ážááá¯á·áá¬á áá®áá»ááºááœááºááŸá¯ááᯠááŒááºááŒáá¡á±á¬ááºá Script ááẠáááºááŸááºáááºáááºážáá¯ááºáá¯á¶ážáááºá¡áá áá»ááºááŸááá±á¬ áááºá¡áá±á¡ááœááºááᯠááá¯ážááŸááºážá áœá¬ááŒááá«áááºá áááá¯ááºááá»áŸááœá±áá²ááŸá¬ á¡áááºážáá¯á¶ážá ááá°áᬠáá¬ááºááœáŸááºáž-
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
}
á€áá²á·ááá¯á· ááœááºáá±á«áºáá¬áááº-
ááá áááºá áááºááŸááºáááºáááºážáá¯ááºáá¯á¶ážááẠááŸá
áºááŸá
áºáá®ážáá«áž áá»ááºáá±ážáááºá áááŒá¬áá±ážáá®á Exchange test bench á¡ááœáẠáááºááŸááºáá»á¬ážááᯠáá»áœááºá¯ááºááŒááºáááºáá¯ááºáá±ážáá±á¬ááŒá±á¬áá·áº áá¯áá¹áááááºáá«áááºá
ááœááºáá°áá±á¬ááœá±ážáá»ááºááŸá¯ááŒá áºáá²á·áááºá áá áºá á¯á¶áá áºáá±á¬ááºááẠá€á¡áá¬ááᯠáá»á±áááºáááá·áºáááºá ááá¯á·áá±á¬áº áá»áœááºá¯ááºááá¯á· ááá¯ááá¯áá»ááºáááºá áá»áœááºá¯ááºááá¯á·ááẠáá¬áá¬ááŸá áááºááŸááºáá»á¬ážá¡á¬ážáá¯á¶ážáá á¬áááºážááᯠá¡áááºááŒáá·áºááá°áááºááŸáá·áº áááºááŸááºáááºáááºážááá¯ááºááá»ááºáž áá»ááºááŸááá±á¬áááºá¡áá±á¡ááœááºááᯠááŒáá·áºááŸá¯ááẠáá áºáá¯á á®á¡ááœáẠáá¬áááºáá±ážáá¬ážáá«áááºá
áá¯ááá option ááá¯á¡áááºááẠááá¯ááŸá¯ááºááœá±ážáááºá
áá áºááẠáá»áœááºá¯ááºááá¯á·ááẠá¡á±ážáá»áá·áº config ááᯠáááºážááŒááºááŒá®áž ááá¯áá±áá¬ááœáẠExternalParameter ááŒáá·áº á á¬ááŒá±á¬ááºážá¡á á¬áž á¡ááŒá¬ážááŸá áºáá¯ááᯠáá±ážáááº-
ExternalList = HTTPS.CertificateNames: powershell.exe -File "serversharenetxms_CertExternalNames.ps1"
ExternalParameter = HTTPS.CertificateExpireDate(*): powershell.exe -File "serversharenetxms_CertExternalParameter.ps1" -CertificateId "$1"
Ð ááŒááºáá á¬áááºáž áá»áœááºá¯ááºááá¯á·ááẠááŒáá¯ážáá»á¬ážá á¬áááºážááᯠáááŸááá«áááºá áá»áœááºá¯ááºááá¯á·áááá á¹á ááœááºá áááºááŸááºá¡áááºáá»á¬ážáá«áá±á¬ á á¬ááŒá±á¬ááºážáá»á¬ážá á¬áááºážá áá¬ááºááœáŸááºážááᯠá¡áá¯á¶ážááŒá¯á á€á á¬ááŒá±á¬ááºážáá»á¬ážá á¬áááºážááᯠáá»áœááºá¯ááºááá¯á· áááºáá¶áááŸááá«áááºá á á¬áááºážá¡ááẠ- HTTPS.CertificateNames.
Script 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 á á¬áááºážá០á¡áááºážáá»á¬ážááᯠááá·áºááœááºážááŒá®áž á¡ááœááºááœáẠáá áºáá¯á á®á¡ááœáẠáá°áá®áá±á¬ áááºá¡áá±á¡ááœááºááᯠáááŸááá«áááºá á¡ááŸááºá¡áá¬ážááẠáááºááŸááºá Thumbprint ááŒá áºáááºá HTTPS.CertificateExpireDate ááœáẠá€áá°ááœá²ááœáẠááŒááºááœáá·áº (*) áá«ááŸáááŒá±á¬ááºáž áááááŒá¯áá«á áá»áœááºá¯ááºááá¯á·á CertificateId ááá¯áᬠáááºáá¶ááá¯ááºá á±áááºá¡ááœáẠáááºážááẠááá¯á¡ááºáá«áááºá
Script 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)"
}
áá¬áá¬á áá±áá¬á á¯áá±á¬ááºážááŸá¯ááœá²á·á ááºážáá¯á¶ááœááºá áá»áœááºá¯ááºááá¯á·ááẠááá·áºáááºáá»ááºá¡áá áºáá áºáá¯ááᯠáááºáá®ážáááºá Parameter ááœááºáá»áœááºá¯ááºááá¯á·ááá»áœááºá¯ááºááá¯á·áááœá±ážáá»ááºáá«á HTTPS.Certificate ExpireDate(*) á á¬áááºážááŸá ááŸáá·áº (á¡á¬áá¯á¶á á°ážá áá¯ááºááŸá¯!) ááá±ááœáá·áºááᯠááŒá±á¬ááºážáá«á {á¥ááá¬}. á€á¡áá±ážááŒá®ážáá±á¬á¡áá»ááºááẠá¥ááá¬áá áºáá¯á á®á¡ááœáẠáá®ážááŒá¬ážáá±á¬ááºáá¬áá áºáá¯áááºáá®ážááá¯ááºá á±áááºááŒá áºáááºá áá»ááºáá¬ááœá±ááá±á¬á· á¡áááºáá¬ážááŸááºážá¡ááá¯ááºáž ááŒáá·áºáá¬ážáá«áááºá
Instance Discovery tab ááœáẠáá±á¬ááºáá¬áá»á¬ážáááºáá®ážááẠáá
áºáá¯áá¯ááŸááááºá¡ááœáẠá
á¬áááºážá០Agent List ááá¯ááœá±ážáá»ááºááẠááá¯á¡ááºááŒá®áž List Name á¡ááœááºááœáẠscript á០áá»áœááºá¯ááºááá¯á·á ExternalList áá¡áááºááᯠááá¯ááºááá·áºáá« - HTTPS.CertificateNamesá
á¡áááºááá·áºááŒá áºáá¯áá®ážáá«ážá ááá á±á¬áá·áºáá« ááá¯á·ááá¯áẠá á±á¬áá·áºááá¯ááºážááẠáá¯á¶ážááááŒá áºááá¯ááºáá«á Poll > Configuration and Poll > Instance Discovery ááᯠááœááºážá¡á¬ážáá±ážáá«á ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠááá¬ážáááºáá¬ááá»á¬ážááŸáá·áºá¡áá° áá»áœááºá¯ááºááá¯á·á áááºááŸááºáá»á¬ážá¡á¬ážáá¯á¶ážááᯠáááŸááááº-
áááºáá¬ááá¯á¡ááºáá«ááá²? áá¯ááºáááºá ááŒá®ážááŒáá·áºá
á¯á¶ááŸá¯ááŸááá²á· ááá¯ážáá±á¬ááºááᬠáá±á¬ááºáá¬áá²á·áá¬áááºááᯠáááºážáááºážáá²á·áá»ááºáá¯á¶ážááœá±áá²á· ááŒáá·áºáááºá áá±á¬ááºážáá«ážááᯠá¡ááŒá®ážááááºáá«áá
á±áá²á·á áááºážááᯠáá»áœá±ážááœá±ážáááºá¡ááœáẠáá±á¬ááºáá¬áá¯ááºááá¹áááá»á¬ážááᯠáá±á¬ááºáá
áºááŒáááºááœáá·áºááŒá®áž Instance Discovery áááºááºááœááºá "Instance ááŸá¬ááœá±ááŸá¯ á
á
áºáá¯ááºááŸá¯ script" á¡ááœááºááœáẠáá±ážáá¬ážááá·áºá¡áá¬ááᯠááá·áºáá«á
instance = $1;
if (instance ~= "^(.*)s-s[T:[a-zA-Z0-9]+]$")
{
return %(true, instance, $1);
}
return true;
Thumbprint ááᯠá á áºáá¯ááºáá«áááº-
áááºážááᯠá
á
áºáá¯ááºááŒááááºá áá±á¬áºááŒáá»ááºá¡ááœááºááŸá á¡ááœá±ááœá±áááºááºááœááºá CertificateExpireDate- {instance} ááá¯á· ááŒá±á¬ááºážáá²áá«á Certificate ExpireDate- {instance-name}:
áá«áá«áá²á áá±á¬ááºáá¯á¶ážáá±á¬á· KDPV áá²á· á¡áá¯á¶ážááŸááºá
á¡ááŸáá² ááá¯ááºáá¬áž?
áá»ááºááŸááá±áá±ážáááºááŸá¬ áááºááŸááºáááºáááºážáá¯ááºáá¯á¶ážáá»áááºááœáẠáááºážááá¯á·áᶠá¡á®ážáá±ážááºááŒáá·áº áá±á¬ááºááŸáá á±ááẠááááá±ážáá»ááºáá»á¬ážááᯠá áá áºááá·áºááœááºážáááºááŒá áºáááºá
1. ááááŠážá áœá¬ áá»áœááºá¯ááºááá¯á·áááºááŸááºáá¬ážáá±á¬ áááºááŒááºáááºááá¯ážááẠá¡áá»áá¯á·áá±á¬á¡ááá·áºááá¯á· áá»áááºážááœá¬ážáá±á¬á¡áá« áááºážááᯠá¡áááºááœááºážáááºá¡ááœáẠEvent Template áá áºáá¯ááᯠáááºáá®ážááẠááá¯á¡ááºáá«áááºá IN ááœá²á á®á ááºááŸá¯ áá¬áááºáá°áá²á· áá¯á¶á á¶á¡áá áºááŸá áºáᯠáááºáá®ážááŒáá·áºáá¡á±á¬áẠáááºááŸááºáááºáááºážáá¯ááºáá¯á¶ážáááºá áœá²_Threshold_á¡áááºááœááºážáá«á ááááá±ážáá»ááºá¡ááŒá±á¡áá±ááŸáá·áº
ááŸáá·áºáá°áááºá CertificateExpireDate_Threshold_Deactivate áá¯á¶ááŸááºá¡áá±á¡áá¬ážááŒáá·áº
2. ááá¯á·áá±á¬ááºá áááºááŒááºáá¯ááºááá¹áááá»á¬ážááá¯ááœá¬ážááŒá®áž Tresholds áááºááºááœáẠáá¶áá«ážáá¯á¶ááᯠáááºááŸááºáá«-
áá»áœááºá¯ááºááá¯á·á áááºáá®ážáá¬ážáá±á¬ ááœá²áá»á¬ážááᯠCertificateExpireDate_Threshold_Activate ááŸáá·áº CertificateExpireDate_Threshold_Deactivate ááœááºá ááá°áá¬á¡áá±á¡ááœáẠ(Samples) ááᯠ1 (á¡áá°ážáááŒáá·áº á€áá±á¬ááºáá¬á¡ááœáẠáá±á¬ááºáááºáááºááŸááºáááºá¡áá»ááºáááŸá)á áááºááá¯ážááẠ30 (áááº)á á¥ááá¬á á¡áá±ážááŒá®ážáááºáá á¡ááŒá
áºá¡áá»ááºááᯠáááºáá«áááºáá« á¡áá»áááºáááºááŸááºáá¬ážáááºá áá¯ááºáá¯ááºáá±ážáááºááŸááºáá»á¬ážá¡ááœááºá áá
áºáááºáá»áŸááºáá
áºááŒááẠ(86400 á
áá¹ááá·áº) áááºááŸááºáá±ážáááºááá¯ááºáá«á á¡ááŒá±á¬ááºážááŒá¬ážáá»ááºáá»á¬ážáá²ááœáẠáá
áºááŒá¯ááºááœá¬ážááá¯ááºáááºá á¡ááŸá¬ážááŸá¬ááŒááºááá·áºá¡áá»áááºá¡ááœááºá á¥ááá¬á á
áá¹ááá·áº 60 ááŸááá·áºáá¬ážááẠá¡áááá¹áá¬ááºááŸááááºá
3 á á¡ááá¯áá« áá¯ááºáá±á¬ááºáá»ááºááœá²á·á ááºážááŸá¯ á€áá²á·ááá¯á·áá±á¬ á¡áááá±ážáá»ááºá á¬áá¯á¶á á¶áá¯á¶á á¶ááᯠáááºáá®ážáá«-
áá«ááœá±á¡á¬ážáá¯á¶áž %má %S á
áááŒáá·áº â áá»áœááºá¯ááºááá¯á·á áá«áá¬áá®áá¬á០áááºááá¯ážáá»á¬ážááᯠá¡á
á¬ážááá¯ážááá·áº áááºáááá¯áá»á¬ážá áááºážááá¯á·ááᯠááœáẠá¡áá±ážá
áááºáá±á¬áºááŒáá¬ážáá«áááºá
4. áá±á¬ááºáá¯á¶ážá¡áá±ááŒáá·áº ááááºá¡áá»ááºáá»á¬ážááᯠáá±á«ááºážá ááºáá¬á ááœá²á á®á ááºááŒááºážáá°áá«á ááŸáá¯ážá ááºááá¯áááºáá®ážáááºááŒá áºááŒá®áž á á¬áá áºá á±á¬ááºáá±ážááá¯á·ááá·áºááŸáá·áºá¡áá® á ááºážáá»ááºážáá áºáá¯ááᯠáááºáá®ážáá«-
áá»áœááºá¯ááºááá¯á·ááẠáá°áá«áááᯠáá»áœá±áá¬ááŒá®áž á¡áá¬á¡á¬ážáá¯á¶ážááᯠá ááºážáááºááá¯ááºáááºá á á áºáá±ážááẠáá¶áá«ážáá¯á¶ááᯠááŒáá·áºáááºááá¯ááºááŒáá«á áá¯á·á áá»áœááºá¯ááºá á¡áá®ážáá¯á¶ážáááºáá±áá¶áááºááŸááºááẠ723 áááºá¡ááœááºáž áááºáááºážáá¯ááºáá¯á¶ážááœá¬ážáááºá á á áºáá±ážááẠ724 ááá¯á· áááºááŸááºááá¯ááºáá«áááºá ááááºá¡áá±ááŒáá·áºá áá»áœááºá¯ááºááá¯á·ááẠá¡á±á¬ááºáá«ááŸáá¯ážá ááºááᯠáááŸááá«áááº-
ááŸáá·áº á€á¡á®ážáá±ážááºááááá±ážáá»ááº-
áá«áá² áá±áá»á¬áá±ááŒá®á áááºááŸáºáá¯ááºáá
áºáá¯ááŸáá·áº ááááºááºáá»á¬ážáááºáá±á¬ááºááẠáá±áá»á¬áá±á«ááºááŒá
áºááá¯ááºáá±á¬áºáááºáž áááºááŸááºáá»á¬ážá¡ááœáẠáááºážááá¯á·ááẠá¡áááá¹áá«ááºáá²á·ááŒá®áž ááŒá®ážááœá±á·ááœááºááá·áºááá·áºáá»ááºážáá»á¬áž á¥ááá¬áááá¯áááºáᬠááá¯á·ááá¯áẠmemory load ááŸáá·áºááá°áá²á á¥ááá¬á ááá¯á·áá±á¬áºá á€á¡ááŒá±á¬ááºážáááºá¡ááŒá¬ážá¡áá»áááºáá
áºáá¯ááŒá
áºáááºá
source: www.habr.com