āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻŽāĻ°āĻž āĻāĻāĻ¨ā§āĻĄā§āĻ āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŦā§āĻ§āĻ¤āĻž āĻ¸āĻŽāĻ¯āĻŧāĻāĻžāĻ˛ āĻĒāĻ°ā§āĻ¯āĻŦā§āĻā§āĻˇāĻŖ āĻāĻ°āĻžāĻ° āĻāĻžāĻā§āĻ° āĻŽā§āĻā§āĻŽā§āĻāĻŋ āĻšāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ āĻŋāĻ āĻāĻā§, āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°āĻā§āĻ˛āĻŋ āĻŦā§āĻļ āĻāĻ¯āĻŧā§āĻāĻŦāĻžāĻ° āĻā§āĻŽāĻĄāĻŧāĻžāĻ¯āĻŧ āĻĒāĻ°āĻŋāĻŖāĻ¤ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻĒāĻ°ā§ āĻāĻŽāĻŋ āĻā§āĻāĻžāĻŦā§ āĻāĻ ā§āĻāĻŋāĻ˛āĻžāĻŽ, āĻ¯āĻāĻ¨ āĻ¤āĻžāĻĻā§āĻ° āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŦā§āĻāĻ°āĻŖā§āĻ° āĻāĻ¨ā§āĻ¯ āĻĻāĻžāĻ¯āĻŧā§ āĻĻāĻžāĻĄāĻŧāĻŋāĻāĻ¯āĻŧāĻžāĻ˛āĻž āĻ¸āĻšāĻāĻ°ā§āĻŽā§ āĻā§āĻāĻŋāĻ¤ā§ āĻāĻŋāĻ˛ā§āĻ¨āĨ¤ āĻāĻ° āĻĒāĻ°ā§, āĻ¤āĻŋāĻ¨āĻŋ āĻāĻŦāĻ āĻāĻŽāĻŋ āĻāĻŋāĻā§ āĻ¸āĻ¨ā§āĻĻā§āĻš āĻāĻ°ā§āĻāĻŋ āĻāĻŦāĻ āĻāĻāĻŋ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻŋāĻ¨ā§āĻ¤āĻž āĻāĻ°āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ¯āĻŧā§āĻāĻŋāĨ¤ āĻ¯ā§āĻšā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻ§ā§āĻ°ā§ āĻ§ā§āĻ°ā§ NetXMS āĻŽāĻ¨āĻŋāĻāĻ°āĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻāĻ°āĻāĻŋ, āĻ¤āĻžāĻ āĻāĻāĻŋ āĻĒā§āĻ°āĻ§āĻžāĻ¨ āĻāĻŦāĻ āĻ¨ā§āĻ¤āĻŋāĻāĻ¤āĻāĻžāĻŦā§, āĻāĻ āĻāĻžāĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻāĻŽāĻžāĻ¤ā§āĻ° āĻĒā§āĻ°āĻžāĻ°ā§āĻĨā§ āĻšāĻ¯āĻŧā§ āĻāĻ ā§āĻā§āĨ¤
āĻĢāĻ˛āĻžāĻĢāĻ˛āĻāĻŋ āĻ āĻŦāĻļā§āĻˇā§ āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻāĻāĻžāĻ°ā§ āĻĒā§āĻ°āĻžāĻĒā§āĻ¤ āĻšāĻ¯āĻŧā§āĻāĻŋāĻ˛:
āĻāĻŦāĻ āĻĒā§āĻ°āĻā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ¨āĻŋāĻā§āĻ āĻāĻ˛āĻ¤ā§ āĻĨāĻžāĻā§āĨ¤
āĻ¯āĻžāĻāĻ¯āĻŧāĻž. NetXMS-āĻ āĻŽā§āĻ¯āĻŧāĻžāĻĻā§āĻ¤ā§āĻ¤ā§āĻ°ā§āĻŖ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻā§āĻ¨āĻ āĻ
āĻ¨ā§āĻ¤āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻŋāĻ¤ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻ¨ā§āĻ, āĻ¤āĻžāĻ āĻāĻĒāĻ¨āĻžāĻā§ āĻāĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻāĻ¸ā§āĻŦ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻĄā§āĻāĻž āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻāĻ°āĻ¤ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°āĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ°āĻļā§āĻ˛ā§, āĻāĻāĻŋ āĻāĻāĻ¨ā§āĻĄā§āĻāĨ¤ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻ
āĻĒāĻžāĻ°ā§āĻāĻŋāĻ āĻ¸āĻŋāĻ¸ā§āĻā§āĻŽā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĒāĻĄāĻŧāĻ¤ā§ āĻšāĻŦā§, āĻ¸ā§āĻāĻžāĻ¨ āĻĨā§āĻā§ āĻāĻ¯āĻŧā§āĻ āĻĻāĻŋāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻ¤āĻžāĻĻā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ āĻ¨āĻŋāĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻ āĻ¨āĻŽā§āĻŦāĻ°āĻāĻŋ NetXMS-āĻ āĻĒāĻžāĻ āĻžāĻ¤ā§ āĻšāĻŦā§āĨ¤ āĻ¤āĻžāĻ° āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§āĨ¤ āĻ¯ā§ āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻļā§āĻ°ā§ āĻāĻ°āĻŦ.
āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻ, āĻ¸āĻšāĻāĻ¤āĻŽāĨ¤ āĻ¨āĻŋāĻāĻāĻ¤āĻŽ āĻ¤āĻžāĻ°āĻŋāĻ āĻ¸āĻš āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻĻāĻŋāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĒāĻžāĻ¨āĨ¤
NetXMS āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻžāĻ¸ā§āĻāĻŽ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°ā§āĻ° āĻ āĻ¸ā§āĻ¤āĻŋāĻ¤ā§āĻŦ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻžāĻ¨āĻ¤ā§, āĻāĻāĻŋ āĻ āĻŦāĻļā§āĻ¯āĻ āĻāĻā§āĻ¨ā§āĻā§āĻ° āĻāĻžāĻ āĻĨā§āĻā§ āĻā§āĻ°āĻšāĻŖ āĻāĻ°āĻŦā§āĨ¤ āĻ āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ, āĻāĻ āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ°āĻāĻŋ āĻ āĻ¨ā§āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋāĻ° āĻāĻžāĻ°āĻŖā§ āĻ¯ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻŦā§ āĻ¨āĻžāĨ¤ āĻ āĻ¤āĻāĻŦ, āĻāĻā§āĻ¨ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻĢāĻžāĻāĻ˛ā§ nxagentd.conf āĻāĻŽāĻ°āĻž āĻāĻāĻāĻŋ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻĒāĻ°āĻžāĻŽāĻŋāĻ¤āĻŋ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻ¨āĻžāĻŽāĻ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨ HTTPS.CertificateExpireDateSimple, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻā§āĻ° āĻ˛āĻā§āĻ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻ¨ āĻāĻ°āĻŋ:
ExternalParameter = HTTPS.CertificateExpireDateSimple: powershell.exe -File "servershareNetXMS_CertExpireDateSimple.ps1"
āĻ¨ā§āĻāĻāĻ¯āĻŧāĻžāĻ°ā§āĻā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§ āĻ¤āĻž āĻŦāĻŋāĻŦā§āĻāĻ¨āĻž āĻāĻ°ā§, āĻāĻĒāĻ¨āĻžāĻā§ āĻŽāĻ¨ā§ āĻ°āĻžāĻāĻ¤ā§ āĻšāĻŦā§
āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻā§āĻ¨ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨āĻāĻŋ āĻāĻ°āĻāĻŽ āĻāĻŋāĻā§ āĻĻā§āĻāĻžāĻ¯āĻŧ:
#
# 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
}
āĻāĻāĻŋ āĻāĻ° āĻŽāĻ¤ā§ āĻĻā§āĻāĻž āĻ¯āĻžāĻā§āĻā§:
723 āĻĻāĻŋāĻ¨, āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻ¤ā§ āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĻā§āĻ āĻŦāĻāĻ° āĻŦāĻžāĻāĻŋāĨ¤ āĻāĻāĻž āĻ¯ā§āĻā§āĻ¤āĻŋāĻ, āĻāĻžāĻ°āĻŖ āĻāĻŽāĻŋ āĻ¸āĻŽā§āĻĒā§āĻ°āĻ¤āĻŋ āĻāĻā§āĻ¸āĻā§āĻā§āĻ āĻā§āĻ¸ā§āĻ āĻŦā§āĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻ°ā§āĻāĻŋāĻĢāĻŋāĻā§āĻ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻāĻžāĻ°āĻŋ āĻāĻ°ā§āĻāĻŋāĨ¤
āĻāĻāĻŋ āĻāĻāĻāĻŋ āĻ¸āĻšāĻ āĻŦāĻŋāĻāĻ˛ā§āĻĒ āĻāĻŋāĻ˛āĨ¤ āĻ¸āĻŽā§āĻāĻŦāĻ¤, āĻā§āĻ āĻāĻ¤ā§ āĻ¸āĻ¨ā§āĻ¤ā§āĻˇā§āĻ āĻšāĻŦā§, āĻ¤āĻŦā§ āĻāĻŽāĻ°āĻž āĻāĻ°āĻ āĻā§āĻ¯āĻŧā§āĻāĻŋāĻ˛āĻžāĻŽāĨ¤ āĻāĻŽāĻ°āĻž āĻ¸āĻžāĻ°ā§āĻāĻžāĻ°ā§ āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž, āĻ¨āĻžāĻŽā§āĻ° āĻĻā§āĻŦāĻžāĻ°āĻž āĻāĻŦāĻ āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§āĻāĻāĻŋāĻ° āĻāĻ¨ā§āĻ¯ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻ¨āĻž āĻšāĻāĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻžāĻāĻŋ āĻĻāĻŋāĻ¨ā§āĻ° āĻ¸āĻāĻā§āĻ¯āĻž āĻĻā§āĻāĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¨āĻŋāĻā§āĻĻā§āĻ°āĻā§ āĻ¸ā§āĻ āĻāĻ°āĻŋā§ˇ
āĻĻā§āĻŦāĻŋāĻ¤ā§āĻ¯āĻŧ āĻŦāĻŋāĻāĻ˛ā§āĻĒ, āĻāĻŋāĻā§āĻāĻž āĻāĻāĻŋāĻ˛āĨ¤
āĻāĻŦāĻžāĻ° āĻāĻŽāĻ°āĻž āĻāĻā§āĻ¨ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ° āĻ¸āĻŽā§āĻĒāĻžāĻĻāĻ¨āĻž āĻāĻ°āĻŋ āĻāĻŦāĻ āĻ¸ā§āĻāĻžāĻ¨ā§, ExternalParameter-āĻāĻ° āĻ¸āĻžāĻĨā§ āĻ˛āĻžāĻāĻ¨ā§āĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§, āĻāĻŽāĻ°āĻž āĻāĻ°āĻ āĻĻā§āĻāĻŋ āĻ˛āĻŋāĻāĻŋ:
ExternalList = HTTPS.CertificateNames: powershell.exe -File "serversharenetxms_CertExternalNames.ps1"
ExternalParameter = HTTPS.CertificateExpireDate(*): powershell.exe -File "serversharenetxms_CertExternalParameter.ps1" -CertificateId "$1"
Đ āĻŦāĻžāĻšā§āĻ¯āĻŋāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻāĻŽāĻ°āĻž āĻļā§āĻ§ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻ āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒā§āĻ¤ā§. āĻāĻŽāĻžāĻĻā§āĻ° āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻ¨āĻžāĻŽ āĻ¸āĻš āĻ¸ā§āĻā§āĻ°āĻŋāĻāĻ¯āĻŧā§āĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĨ¤ āĻāĻŽāĻ°āĻž āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§ āĻāĻ āĻ˛āĻžāĻāĻ¨āĻā§āĻ˛āĻŋāĻ° āĻāĻāĻāĻŋ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĒāĻžāĻŦāĨ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¨āĻžāĻŽ - HTTPS.CertificateNames.
āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ 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(*) āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§, āĻāĻŦāĻ (āĻŽāĻ¨ā§āĻ¯ā§āĻ!) āĻ¤āĻžāĻ°āĻāĻžāĻāĻŋāĻšā§āĻ¨ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ {āĻĻā§āĻˇā§āĻāĻžāĻ¨ā§āĻ¤}. āĻāĻ āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻāĻāĻŋ āĻāĻĒāĻ¨āĻžāĻā§ āĻĒā§āĻ°āĻ¤āĻŋāĻāĻŋ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° (āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°) āĻāĻ¨ā§āĻ¯ āĻāĻāĻāĻŋ āĻĒā§āĻĨāĻ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻ āĻ¨ā§āĻŽāĻ¤āĻŋ āĻĻā§āĻŦā§āĨ¤ āĻŦāĻžāĻāĻŋāĻā§āĻ˛āĻŋ āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻ¸āĻāĻ¸ā§āĻāĻ°āĻŖā§āĻ° āĻŽāĻ¤ā§ āĻĒā§āĻ°āĻŖ āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§:
āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻāĻŋāĻā§ āĻĒāĻžāĻāĻ¯āĻŧāĻžāĻ° āĻāĻ¨ā§āĻ¯, āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĄāĻŋāĻ¸āĻāĻāĻžāĻ°āĻŋ āĻā§āĻ¯āĻžāĻŦā§ āĻāĻĒāĻ¨āĻžāĻā§ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻĨā§āĻā§ āĻāĻā§āĻ¨ā§āĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻž āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻŦāĻ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ¨āĻžāĻŽ āĻā§āĻˇā§āĻ¤ā§āĻ°ā§ āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ āĻĨā§āĻā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦāĻšāĻŋāĻ°āĻžāĻāĻ¤ āĻ¤āĻžāĻ˛āĻŋāĻāĻžāĻ° āĻ¨āĻžāĻŽ āĻ˛āĻŋāĻā§āĻ¨ - HTTPS.CertificateNamesāĨ¤
āĻĒā§āĻ°āĻžāĻ¯āĻŧ āĻĒā§āĻ°āĻ¸ā§āĻ¤ā§āĻ¤, āĻāĻāĻā§ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°ā§āĻ¨ āĻŦāĻž āĻā§āĻ° āĻāĻ°ā§ āĻĒā§āĻ˛ > āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻŦāĻ āĻĒā§āĻ˛ > āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĄāĻŋāĻ¸āĻāĻāĻžāĻ°āĻŋ āĻ¯āĻĻāĻŋ āĻ āĻĒā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¸āĻŽā§āĻĒā§āĻ°ā§āĻŖ āĻ āĻ¸āĻŽā§āĻāĻŦ āĻšāĻ¯āĻŧāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻŦā§āĻ§āĻ¤āĻžāĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻ¸āĻš āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸āĻŽāĻ¸ā§āĻ¤ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ° āĻĒāĻžāĻ:
āĻ¤ā§āĻŽāĻžāĻ° āĻāĻŋ āĻĻāĻ°āĻāĻžāĻ°? āĻ āĻŋāĻ āĻāĻā§, āĻšā§āĻ¯āĻžāĻ, āĻā§āĻŦāĻ˛ āĻĒāĻžāĻ°āĻĢā§āĻāĻļāĻ¨āĻŋāĻāĻŽā§āĻ° āĻā§āĻ āĻāĻ āĻ
āĻĒā§āĻ°āĻ¯āĻŧā§āĻāĻ¨ā§āĻ¯āĻŧ āĻĨāĻžāĻŽā§āĻŦāĻĒā§āĻ°āĻŋāĻ¨ā§āĻā§āĻ° āĻĻāĻŋāĻā§ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻ¨āĻžāĻŽā§ āĻŦāĻŋāĻˇāĻŖā§āĻŖ āĻā§āĻā§ āĻĻā§āĻā§ āĻāĻŦāĻ āĻāĻŽāĻžāĻā§ āĻ¨āĻŋāĻŦāĻ¨ā§āĻ§āĻāĻŋ āĻļā§āĻˇ āĻāĻ°āĻ¤ā§ āĻĻā§āĻ¯āĻŧ āĻ¨āĻžāĨ¤ āĻāĻāĻŋ āĻāĻžāĻāĻ¯āĻŧāĻžāĻ¨ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯āĻā§āĻ˛āĻŋ āĻāĻŦāĻžāĻ° āĻā§āĻ˛ā§āĻ¨ āĻāĻŦāĻ āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻĄāĻŋāĻ¸āĻāĻāĻžāĻ°āĻŋ āĻā§āĻ¯āĻžāĻŦā§, "āĻāĻ¨āĻ¸ā§āĻā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻŦāĻŋāĻˇā§āĻāĻžāĻ° āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻ¸ā§āĻā§āĻ°āĻŋāĻĒā§āĻ" āĻā§āĻˇā§āĻ¤ā§āĻ°ā§, āĻ˛ā§āĻāĻžāĻāĻŋ āĻ¯ā§āĻ āĻāĻ°ā§āĻ¨
instance = $1;
if (instance ~= "^(.*)s-s[T:[a-zA-Z0-9]+]$")
{
return %(true, instance, $1);
}
return true;
āĻ¯āĻž āĻĨāĻžāĻŽā§āĻŦāĻĒā§āĻ°āĻŋāĻ¨ā§āĻ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻŦā§:
āĻāĻŦāĻ āĻāĻāĻŋāĻā§ āĻĢāĻŋāĻ˛ā§āĻāĻžāĻ° āĻāĻ°āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻāĻ°āĻ¤ā§, āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻā§āĻˇā§āĻ¤ā§āĻ°ā§āĻ° āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ āĻā§āĻ¯āĻžāĻŦā§, CertificateExpireDate: {instance}-āĻ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°ā§āĻ¨ CertificateExpireDate: {instance-name}:
āĻāĻāĻžāĻ, āĻ
āĻŦāĻļā§āĻˇā§ KDPV āĻĨā§āĻā§ āĻļā§āĻˇ āĻ˛āĻžāĻāĻ¨:
āĻāĻāĻž āĻāĻŋ āĻ¸ā§āĻ¨ā§āĻĻāĻ°ā§āĻ¯?
āĻ¯āĻž āĻ āĻŦāĻļāĻŋāĻˇā§āĻ āĻĨāĻžāĻā§ āĻ¤āĻž āĻšāĻ˛ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻ¯āĻžāĻ¤ā§ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻ¯āĻŧā§ āĻā§āĻ˛ā§ āĻ¤āĻžāĻ°āĻž āĻāĻŽā§āĻ˛ā§āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻĒā§āĻāĻāĻžāĻ¯āĻŧāĨ¤
1. āĻĒā§āĻ°āĻĨāĻŽā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻāĻāĻāĻŋ āĻāĻā§āĻ¨ā§āĻ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻ¤ā§ āĻšāĻŦā§ āĻāĻāĻŋ āĻ¸āĻā§āĻ°āĻŋāĻ¯āĻŧ āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ āĻ¯āĻāĻ¨ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻŽāĻžāĻ¨ āĻāĻŽāĻžāĻĻā§āĻ° āĻ¸ā§āĻ āĻāĻ°āĻž āĻāĻŋāĻā§ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄā§ āĻāĻŽā§ āĻ¯āĻžāĻ¯āĻŧāĨ¤ āĻāĻŋāĻ¤āĻ°ā§ āĻāĻā§āĻ¨ā§āĻ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻ° āĻŽāĻ¤ā§ āĻ¨āĻžāĻŽ āĻĻāĻŋāĻ¯āĻŧā§ āĻĻā§āĻāĻŋ āĻ¨āĻ¤ā§āĻ¨ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻŋ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ āĻļā§āĻˇ āĻšāĻāĻ¯āĻŧāĻžāĻ° āĻ¤āĻžāĻ°āĻŋāĻ_āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ_āĻ ā§āĻ¯āĻžāĻā§āĻāĻŋāĻā§āĻ āĻ¸āĻ¤āĻ°ā§āĻāĻ¤āĻž āĻ āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻš:
āĻāĻŦāĻ āĻ
āĻ¨ā§āĻ°ā§āĻĒ CertificateExpireDate_Threshold_Deactivate āĻ¸ā§āĻŦāĻžāĻāĻžāĻŦāĻŋāĻ āĻ
āĻŦāĻ¸ā§āĻĨāĻž āĻ¸āĻšāĨ¤
2. āĻāĻ°āĻĒāĻ°, āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ° āĻŦā§āĻļāĻŋāĻˇā§āĻā§āĻ¯ā§ āĻ¯āĻžāĻ¨ āĻāĻŦāĻ Tresholds āĻā§āĻ¯āĻžāĻŦā§ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨:
āĻ¯ā§āĻāĻžāĻ¨ā§ āĻāĻŽāĻ°āĻž āĻāĻŽāĻžāĻĻā§āĻ° āĻ¤ā§āĻ°āĻŋ āĻāĻā§āĻ¨ā§āĻāĻā§āĻ˛āĻŋ āĻ¨āĻŋāĻ°ā§āĻŦāĻžāĻāĻ¨ āĻāĻ°āĻŋ CertificateExpireDate_Threshold_Activate āĻāĻŦāĻ CertificateExpireDate_Threshold_Deactivate, āĻ¨āĻŽā§āĻ¨āĻžāĻ° āĻ¸āĻāĻā§āĻ¯āĻž (āĻ¨āĻŽā§āĻ¨āĻž) 1 āĻ āĻ¸ā§āĻ āĻāĻ°āĻŋ (āĻŦāĻŋāĻļā§āĻˇāĻ¤ āĻāĻ āĻāĻžāĻāĻ¨ā§āĻāĻžāĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻ°āĻ āĻ¸ā§āĻ āĻāĻ°āĻžāĻ° āĻā§āĻ¨ āĻ
āĻ°ā§āĻĨ āĻ¨ā§āĻ), āĻŽāĻžāĻ¨āĻāĻŋ 30 (āĻĻāĻŋāĻ¨), āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŦāĻ, āĻā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§āĻ°ā§āĻŖāĻāĻžāĻŦā§, āĻ¸ā§āĻ āĻāĻ°ā§āĻ¨āĨ¤ āĻāĻāĻ¨āĻžāĻ° āĻĒā§āĻ¨āĻ°āĻžāĻŦā§āĻ¤ā§āĻ¤āĻŋāĻ° āĻ¸āĻŽāĻ¯āĻŧāĨ¤ āĻā§āĻĒāĻžāĻĻāĻ¨ā§ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĻāĻŋāĻ¨ā§ āĻāĻāĻŦāĻžāĻ° āĻ¸ā§āĻ āĻāĻ°āĻŋ (86400 āĻ¸ā§āĻā§āĻ¨ā§āĻĄ), āĻ
āĻ¨ā§āĻ¯āĻĨāĻžāĻ¯āĻŧ āĻāĻĒāĻ¨āĻŋ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋāĻā§āĻ˛āĻŋāĻ¤ā§ āĻĄā§āĻŦā§ āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĻ¨ (āĻ¯āĻž, āĻ¯āĻžāĻāĻšā§āĻ, āĻāĻāĻŦāĻžāĻ° āĻāĻā§āĻāĻŋāĻ˛, āĻāĻ¤āĻāĻžāĻ āĻ¯ā§ āĻ¸āĻĒā§āĻ¤āĻžāĻšāĻžāĻ¨ā§āĻ¤ā§ āĻŽā§āĻ˛āĻŦāĻā§āĻ¸āĻāĻŋ āĻĒā§āĻ°ā§āĻŖ āĻāĻŋāĻ˛)āĨ¤ āĻĄāĻŋāĻŦāĻžāĻāĻŋāĻ āĻ¸āĻŽāĻ¯āĻŧā§āĻ° āĻāĻ¨ā§āĻ¯, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, 60 āĻ¸ā§āĻā§āĻ¨ā§āĻĄ, āĻāĻāĻŋ āĻāĻŽ āĻ¸ā§āĻ āĻāĻ°āĻž āĻ
āĻ°ā§āĻĨāĻĒā§āĻ°ā§āĻŖāĨ¤
3. āĻāĻ¨ āĻ ā§āĻ¯āĻžāĻāĻļāĻ¨ āĻāĻ¨āĻĢāĻŋāĻāĻžāĻ°ā§āĻļāĻ¨ āĻāĻāĻāĻŋ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋ āĻāĻŋāĻ āĻŋ āĻā§āĻŽāĻĒā§āĻ˛ā§āĻ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨, āĻ¯ā§āĻŽāĻ¨:
āĻāĻ āĻ¸āĻŽāĻ¸ā§āĻ¤ %m, %S, āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋ â āĻŽā§āĻ¯āĻžāĻā§āĻ°ā§ āĻ¯āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻāĻŽāĻžāĻĻā§āĻ° āĻĒā§āĻ¯āĻžāĻ°āĻžāĻŽāĻŋāĻāĻžāĻ° āĻĨā§āĻā§ āĻŽāĻžāĻ¨ āĻĒā§āĻ°āĻ¤āĻŋāĻ¸ā§āĻĨāĻžāĻĒāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ āĻāĻā§āĻ˛āĻŋ āĻāĻ°āĻ āĻŦāĻŋāĻļāĻĻā§ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻāĻ°āĻž āĻšāĻ¯āĻŧā§āĻā§
4. āĻāĻŦāĻ āĻĒāĻ°āĻŋāĻļā§āĻˇā§, āĻĒā§āĻ°ā§āĻŦāĻŦāĻ°ā§āĻ¤ā§ āĻĒāĻ¯āĻŧā§āĻ¨ā§āĻ āĻāĻāĻ¤ā§āĻ°āĻŋāĻ¤, āĻŽāĻ§ā§āĻ¯ā§ āĻāĻā§āĻ¨ā§āĻ āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻŋāĻ āĻ¨ā§āĻ¤āĻŋ āĻāĻāĻāĻŋ āĻ¨āĻŋāĻ¯āĻŧāĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°ā§āĻ¨ āĻ¯āĻž āĻ āĻ¨ā§āĻ¸āĻžāĻ°ā§ āĻāĻāĻāĻŋ āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻ°ā§āĻŽ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻšāĻŦā§ āĻāĻŦāĻ āĻāĻāĻāĻŋ āĻāĻŋāĻ āĻŋ āĻĒāĻžāĻ āĻžāĻ¨ā§ āĻšāĻŦā§:
āĻāĻŽāĻ°āĻž āĻ¨ā§āĻ¤āĻŋ āĻ¸āĻāĻ°āĻā§āĻˇāĻŖ āĻāĻ°āĻŋ, āĻ¸āĻŦāĻāĻŋāĻā§ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻž āĻ¯ā§āĻ¤ā§ āĻĒāĻžāĻ°ā§āĨ¤ āĻā§āĻ āĻāĻ°āĻ¤ā§ āĻĨā§āĻ°ā§āĻļāĻšā§āĻ˛ā§āĻĄ āĻāĻā§āĻāĻ¤āĻ° āĻ¸ā§āĻ āĻāĻ°āĻž āĻ¯āĻžāĻāĨ¤ āĻāĻŽāĻžāĻ° āĻ¨āĻŋāĻāĻāĻ¤āĻŽ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻŽā§āĻ¯āĻŧāĻžāĻĻ 723 āĻĻāĻŋāĻ¨ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻļā§āĻˇ āĻšāĻ¯āĻŧ, āĻāĻŽāĻŋ āĻāĻāĻŋ āĻĒāĻ°ā§āĻā§āĻˇāĻž āĻāĻ°āĻžāĻ° āĻāĻ¨ā§āĻ¯ 724 āĻ āĻ¸ā§āĻ āĻāĻ°ā§āĻāĻŋāĨ¤ āĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻāĻŽāĻ°āĻž āĻ¨āĻŋāĻŽā§āĻ¨āĻ˛āĻŋāĻāĻŋāĻ¤ āĻ ā§āĻ¯āĻžāĻ˛āĻžāĻ°ā§āĻŽ āĻĒāĻžāĻ:
āĻāĻŦāĻ āĻāĻ āĻāĻŽā§āĻ˛ āĻŦāĻŋāĻā§āĻāĻĒā§āĻ¤āĻŋ:
āĻāĻāĻžāĻ āĻāĻāĻ¨ āĻ¨āĻŋāĻļā§āĻāĻŋāĻ¤āĨ¤ āĻ
āĻŦāĻļā§āĻ¯āĻ, āĻāĻāĻāĻŋ āĻĄā§āĻ¯āĻžāĻļāĻŦā§āĻ°ā§āĻĄ āĻ¸ā§āĻ āĻāĻĒ āĻāĻ°āĻž āĻāĻŦāĻ āĻā§āĻ°āĻžāĻĢ āĻ¤ā§āĻ°āĻŋ āĻāĻ°āĻž āĻ¸āĻŽā§āĻāĻŦ āĻšāĻŦā§, āĻāĻŋāĻ¨ā§āĻ¤ā§ āĻļāĻāĻ¸āĻžāĻĒāĻ¤ā§āĻ°ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻā§āĻ˛āĻŋ āĻāĻŋāĻā§āĻāĻž āĻ
āĻ°ā§āĻĨāĻšā§āĻ¨ āĻāĻŦāĻ āĻŦāĻŋāĻ°āĻā§āĻ¤āĻŋāĻāĻ° āĻ¸āĻ°āĻ˛ āĻ°ā§āĻāĻž āĻšāĻŦā§, āĻāĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§āĻĒ, āĻĒā§āĻ°āĻ¸ā§āĻ¸āĻ° āĻŦāĻž āĻŽā§āĻŽāĻ°āĻŋ āĻ˛ā§āĻĄā§āĻ° āĻā§āĻ°āĻžāĻĢā§āĻ° āĻŦāĻŋāĻĒāĻ°ā§āĻ¤ā§āĨ¤ āĻāĻŋāĻ¨ā§āĻ¤ā§, āĻ
āĻ¨ā§āĻ¯ āĻā§āĻ¨ā§ āĻ¸āĻŽāĻ¯āĻŧ āĻāĻ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻā§ āĻāĻ°ā§.
āĻāĻ¤ā§āĻ¸: www.habr.com