NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЕрд▓реАрдХрдбреЗрдЪ рдЖрдореНрд╣рд╛рд▓рд╛ рд╡рд┐рдВрдбреЛрдЬ рд╕рд░реНрд╡реНрд╣рд░рд╡рд░реАрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреНрдпрд╛ рд╡реИрдзрддреЗрдЪреНрдпрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреНрдпрд╛рдЪреЗ рдХрд╛рдо рдЖрд▓реЗ. рдмрд░рдВ, рддреНрдпрд╛рдВрдЪреНрдпрд╛ рдиреВрддрдиреАрдХрд░рдгрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░ рджрд╛рдвреАрд╡рд╛рд▓реЗ рд╕рд╣рдХрд╛рд░реА рд╕реБрдЯреНрдЯреАрд╡рд░ рдЕрд╕рддрд╛рдирд╛, рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдЕрдиреЗрдХ рд╡реЗрд│рд╛ рднреЛрдкрд│реНрдпрд╛рдд рдмрджрд▓рд▓реНрдпрд╛рдирдВрддрд░ рдореА рдХрд╕рд╛ рдЙрдард▓реЛ. рддреНрдпрд╛рдирдВрддрд░, рддреНрдпрд╛рд▓рд╛ рдЖрдгрд┐ рдорд▓рд╛ рдХрд╛рд╣реАрддрд░реА рд╕рдВрд╢рдп рдЖрд▓рд╛ рдЖрдгрд┐ рддреНрдпрд╛рдмрджреНрджрд▓ рд╡рд┐рдЪрд╛рд░ рдХрд░рдгреНрдпрд╛рдЪреЗ рдард░рд╡рд▓реЗ. рдЖрдореНтАНрд╣реА рдиреЗрдЯрдПрдХреНрд╕рдПрдордПрд╕ рдореЙрдирд┐рдЯрд░рд┐рдВрдЧ рд╕рд┐рд╕реНтАНрдЯрдо рд╣рд│реБрд╣рд│реВ рд▓рд╛рдЧреВ рдХрд░рдд рдЕрд╕рд▓реНтАНрдпрд╛рдиреЗ, рддреА рдпрд╛ рдХрд╛рд░реНрдпрд╛рд╕рд╛рдареА рдореБрдЦреНрдп рдЖрдгрд┐ рддрддреНрддреНрд╡рддрдГ рдПрдХрдореЗрд╡ рдЙрдореЗрджрд╡рд╛рд░ рдмрдирд▓реА рдЖрд╣реЗ.

рдкрд░рд┐рдгрд╛рдо рд╢реЗрд╡рдЯреА рдЦрд╛рд▓реАрд▓ рдлреЙрд░реНрдордордзреНрдпреЗ рдкреНрд░рд╛рдкреНрдд рдЭрд╛рд▓рд╛:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрдгрд┐ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕реНрд╡рддрдГрдЪ рдЪрд╛рд▓реВ рд░рд╛рд╣рддреЗ.

рдЬрд╛. NetXMS рдордзреНтАНрдпреЗ рдХрд╛рд▓рдмрд╛рд╣реНрдп рд╣реЛрдгрд╛рд░реНтАНрдпрд╛ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрд╕рд╛рдареА рдЕрдВрдЧрднреВрдд рдХрд╛рдЙрдВрдЯрд░ рдирд╛рд╣реА, рддреНрдпрд╛рдореБрд│реЗ рддреБрдореНтАНрд╣рд╛рд▓рд╛ рддреБрдордЪреНтАНрдпрд╛ рд╕реНтАНрдХреНрд░рд┐рдкреНтАНрдЯ рддрдпрд╛рд░ рдХрд░рдгреНтАНрдпрд╛рдЪреА рдЖрд╡рд╢реНтАНрдпрдХрддрд╛ рдЖрд╣реЗ рдЖрдгрд┐ рдбреЗрдЯрд╛ рдкреНрд░рджрд╛рди рдХрд░рдгреНтАНрдпрд╛рд╕рд╛рдареА рд╕реНрдХреНрд░рд┐рдкреНрдЯ рд╡рд╛рдкрд░рдгреЗ рдЖрд╡рд╢реНтАНрдпрдХ рдЖрд╣реЗ. рдЕрд░реНрдерд╛рдд, рдкреЙрд╡рд░рд╢реЗрд▓рд╡рд░, рд╣реЗ рд╡рд┐рдВрдбреЛрдЬ рдЖрд╣реЗ. рд╕реНрдХреНрд░рд┐рдкреНрдЯрдиреЗ рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдордордзреАрд▓ рд╕рд░реНрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рд╡рд╛рдЪрд▓реА рдкрд╛рд╣рд┐рдЬреЗрдд, рддрд┐рдереВрди рдХрд╛рд╣реА рджрд┐рд╡рд╕рд╛рдВрдд рддреНрдпрд╛рдВрдЪреА рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░реАрдЦ рдШреНрдпрд╛рд╡реА рдЖрдгрд┐ рд╣рд╛ рдирдВрдмрд░ NetXMS рд▓рд╛ рдкрд╛рд╕ рдХрд░рд╛рд╡рд╛. рддреНрдпрд╛рдЪреНрдпрд╛ рдПрдЬрдВрдЯрдЪреНрдпрд╛ рдорд╛рдзреНрдпрдорд╛рддреВрди. рддрд┐рдереВрдирдЪ рдЖрдкрдг рд╕реБрд░реБрд╡рд╛рдд рдХрд░реВ.

рдкрд░реНрдпрд╛рдп рдПрдХ, рд╕рд░реНрд╡рд╛рдд рд╕реЛрдкрд╛. рдлрдХреНрдд рдЬрд╡рд│рдЪреНрдпрд╛ рддрд╛рд░рдЦреЗрд╕рд╣ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдЪреНрдпрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рддрд╛рд░рдЦреЗрдкрд░реНрдпрдВрдд рджрд┐рд╡рд╕рд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ рдорд┐рд│рд╡рд╛.

NetXMS рд╕рд░реНрд╡реНрд╣рд░рд▓рд╛ рдЖрдордЪреНрдпрд╛ рд╕рд╛рдиреБрдХреВрд▓ рдкреЕрд░рд╛рдореАрдЯрд░рдЪреНрдпрд╛ рдЕрд╕реНрддрд┐рддреНрд╡рд╛рдмрджреНрджрд▓ рдЬрд╛рдгреВрди рдШреЗрдгреНрдпрд╛рд╕рд╛рдареА, рддреЛ рдПрдЬрдВрдЯрдХрдбреВрди рдкреНрд░рд╛рдкреНрдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. рдЕрдиреНрдпрдерд╛, рд╣реЗ рдкреЕрд░рд╛рдореАрдЯрд░ рддреНрдпрд╛рдЪреНрдпрд╛ рдЕрдиреБрдкрд╕реНрдерд┐рддреАрдореБрд│реЗ рдЬреЛрдбрд▓реЗ рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реА. рдореНрд╣рдгреВрди, рдПрдЬрдВрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓рдордзреНрдпреЗ nxagentd.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 рдХрдиреНрд╕реЛрд▓рдордзреНрдпреЗ рд╡рд░ рдЬрд╛ рдбреЗрдЯрд╛ рд╕рдВрдХрд▓рди рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рд╕рд░реНрд╡реНрд╣рд░ рдЬреНрдпрд╛рд╡рд░ рдЖрдореНрд╣реА рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрдЪреЗ рдкрд░реАрдХреНрд╖рдг рдХрд░рдгрд╛рд░ рдЖрд╣реЛрдд рдЖрдгрд┐ рддреЗрдереЗ рдПрдХ рдирд╡реАрди рдкреЕрд░рд╛рдореАрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгрд╛рд░ рдЖрд╣реЛрдд (рднрд╡рд┐рд╖реНрдпрд╛рдд, рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рдирдирдВрддрд░, рддреЗ рдЯреЗрдореНрдкрд▓реЗрдЯреНрд╕рдордзреНрдпреЗ рд╣рд╕реНрддрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рдЕрд░реНрдердкреВрд░реНрдг рдЖрд╣реЗ). рд╕реВрдЪреАрдордзреВрди 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 рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

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.CertificateExpirateDate(*) рд╕реВрдЪреАрдордзреВрди, рдЖрдгрд┐ (рд▓рдХреНрд╖!) рддрд╛рд░рдХрд╛рд▓рд╛ рдмрджрд▓рд╛ {рдЙрджрд╛рд╣рд░рдг}. рд╣рд╛ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рдореБрджреНрджрд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рддреНрдпреЗрдХ рдЙрджрд╛рд╣рд░рдгрд╛рд╕рд╛рдареА (рдкреНрд░рдорд╛рдгрдкрддреНрд░) рд╕реНрд╡рддрдВрддреНрд░ рдХрд╛рдЙрдВрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрдИрд▓. рдЙрд░реНрд╡рд░рд┐рдд рдорд╛рдЧреАрд▓ рдЖрд╡реГрддреНрддреАрдкреНрд░рдорд╛рдгреЗ рднрд░рд▓реЗ рдЖрд╣реЗ:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдХрд╛рдЙрдВрдЯрд░ рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХрд╛рд╣реАрддрд░реА рдорд┐рд│рдгреНрдпрд╛рд╕рд╛рдареА, рдЗрдиреНрд╕реНрдЯрдиреНрд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдЯреЕрдмрд╡рд░ рддреБрдореНрд╣рд╛рд▓рд╛ рд╕реВрдЪреАрдордзреВрди рдПрдЬрдВрдЯ рд╕реВрдЪреА рдирд┐рд╡рдбрдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рдЖрдгрд┐ рдпрд╛рджреА рдирд╛рд╡ рдлреАрд▓реНрдбрдордзреНрдпреЗ рд╕реНрдХреНрд░рд┐рдкреНрдЯрдордзреВрди рдЖрдордЪреНрдпрд╛ рдмрд╛рд╣реНрдп рд╕реВрдЪреАрдЪреЗ рдирд╛рд╡ рдкреНрд░рд╡рд┐рд╖реНрдЯ рдХрд░рд╛ - HTTPS.CertificateNames.

рдЬрд╡рд│рдЬрд╡рд│ рддрдпрд╛рд░ рдЖрд╣реЗ, рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рдгреЗ рдкреВрд░реНрдгрдкрдгреЗ рдЕрд╢рдХреНрдп рдЕрд╕рд▓реНрдпрд╛рд╕, рдереЛрдбреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рд╛ рдХрд┐рдВрд╡рд╛ рдорддрджрд╛рди > рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдЖрдгрд┐ рдкреЛрд▓ > рдЗрдиреНрд╕реНрдЯрдиреНрд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдХрд░рд╛. рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ рд╡реИрдзрддрд╛ рдХрд╛рд▓рд╛рд╡рдзреАрд╕рд╣ рдЖрдордЪреА рд╕рд░реНрд╡ рдкреНрд░рдорд╛рдгрдкрддреНрд░реЗ рдорд┐рд│рддрд╛рдд:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рддреБрд▓рд╛ рдХрд╛рдп рд╣рд╡реЗ рдЖрд╣реЗ? рдмрд░рдВ, рд╣реЛ, рдлрдХреНрдд рдкрд░рдлреЗрдХреНрд╢рдирд┐рдЭрдордЪрд╛ рдХрд┐рдбрд╛ рдХрд╛рдЙрдВрдЯрд░рдЪреНрдпрд╛ рдирд╛рд╡рд╛рдЪреНрдпрд╛ рдпрд╛ рдЕрдирд╛рд╡рд╢реНрдпрдХ рдердВрдмрдкреНрд░рд┐рдВрдЯрдХрдбреЗ рдЦрд┐рдиреНрди рдбреЛрд│реНрдпрд╛рдВрдиреА рдкрд╛рд╣рддреЛ рдЖрдгрд┐ рдорд▓рд╛ рд▓реЗрдЦ рдкреВрд░реНрдг рдХрд░реВ рджреЗрдд рдирд╛рд╣реА. рддреЗ рдлреАрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХрд╛рдЙрдВрдЯрд░ рдЧреБрдгрдзрд░реНрдо рдкреБрдиреНрд╣рд╛ рдЙрдШрдбрд╛ рдЖрдгрд┐ рдЗрдиреНрд╕реНрдЯрдиреНрд╕ рдбрд┐рд╕реНрдХрд╡рд░реА рдЯреЕрдмрд╡рд░, "рдЗрдВрд╕реНрдЯрдиреНрд╕ рдбрд┐рд╕реНрдХрд╡реНрд╣рд░реА рдлрд┐рд▓реНрдЯрд░ рд╕реНрдХреНрд░рд┐рдкреНрдЯ" рдлреАрд▓реНрдбрдордзреНрдпреЗ, рддреНрдпрд╛рдд рд▓рд┐рд╣рд┐рд▓реЗрд▓реЗ рдЬреЛрдбрд╛ NXSL (NetXMS рдЕрдВрддрд░реНрдЧрдд рднрд╛рд╖рд╛) рд╕реНрдХреНрд░рд┐рдкреНрдЯ:

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

рдЬреЗ рдердВрдмрдкреНрд░рд┐рдВрдЯ рдлрд┐рд▓реНрдЯрд░ рдХрд░реЗрд▓:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрдгрд┐ рддреЗ рдлрд┐рд▓реНрдЯрд░ рдХреЗрд▓реЗрд▓реЗ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рд╡рд░реНрдгрди рдлреАрд▓реНрдбрдордзреАрд▓ рд╕рд╛рдорд╛рдиреНрдп рдЯреЕрдмрд╡рд░, CertificateExpireDate: {instance} рдордзреНрдпреЗ рдмрджрд▓рд╛ CertificateExpireDate: {instance-name}:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рддреЗрдЪ, рд╢реЗрд╡рдЯреА KDPV рдЪреА рд╢реЗрд╡рдЯрдЪреА рд░реЗрд╖рд╛:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рд╕реМрдВрджрд░реНрдп?

рдмрд╛рдХреА рдлрдХреНрдд рдЕрд▓рд░реНрдЯ рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрд╣реЗ рдЬреЗрдгреЗрдХрд░реВрди рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рддреЗ рдИрдореЗрд▓рджреНрд╡рд╛рд░реЗ рдкреЛрд╣реЛрдЪрддреАрд▓.

1. рдХрд╛рдЙрдВрдЯрд░ рд╡реНрд╣реЕрд▓реНрдпреВ рдЖрдореНрд╣реА рд╕реЗрдЯ рдХреЗрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд╣реА рдереНрд░реЗрд╢реЛрд▓реНрдбрдкрд░реНрдпрдВрдд рдХрдореА рдЭрд╛рд▓реНрдпрд╛рд╡рд░ рддреЗ рд╕рдХреНрд░рд┐рдп рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдкреНрд░рдердо рдЖрдореНрд╣рд╛рд▓рд╛ рдЗрд╡реНрд╣реЗрдВрдЯ рдЯреЗрдореНрдкрд▓реЗрдЯ рддрдпрд╛рд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ. IN рдЗрд╡реНрд╣реЗрдВрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рдпрд╛рдВрд╕рд╛рд░рдЦреНрдпрд╛ рдирд╛рд╡рд╛рдВрд╕рд╣ рджреЛрди рдирд╡реАрди рдЯреЗрдореНрдкрд▓реЗрдЯ рддрдпрд╛рд░ рдХрд░реВ CertificateExpireDate_Threshold_Activate рдЪреЗрддрд╛рд╡рдгреА рд╕реНрдерд┐рддреАрд╕рд╣:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрдгрд┐ рддрддреНрд╕рдо CertificateExpireDate_Threshold_Deactivate рд╕рд╛рдорд╛рдиреНрдп рд╕реНрдерд┐рддреАрд╕рд╣.

2. рдкреБрдвреЗ, рдХрд╛рдЙрдВрдЯрд░ рдЧреБрдгрдзрд░реНрдорд╛рдВрд╡рд░ рдЬрд╛ рдЖрдгрд┐ рдЯреНрд░реЗрд╢реЛрд▓реНрдб рдЯреЕрдмрд╡рд░ рдереНрд░реЗрд╢реЛрд▓реНрдб рд╕реЗрдЯ рдХрд░рд╛:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЬрд┐рдереЗ рдЖрдореНрд╣реА рдЖрдордЪреЗ рддрдпрд╛рд░ рдХреЗрд▓реЗрд▓реЗ рдЗрд╡реНрд╣реЗрдВрдЯ CertificateExpireDate_Threshold_Activate рдЖрдгрд┐ CertificateExpireDate_Threshold_Deactivate рдирд┐рд╡рдбрддреЛ, рдирдореБрдиреНрдпрд╛рдВрдЪреА рд╕рдВрдЦреНрдпрд╛ (рдирдореБрдиреЗ) 1 рд╡рд░ рд╕реЗрдЯ рдХрд░рддреЛ (рд╡рд┐рд╢реЗрд╖рдд: рдпрд╛ рдХрд╛рдЙрдВрдЯрд░рд╕рд╛рдареА рдЕрдзрд┐рдХ рд╕реЗрдЯ рдХрд░рдгреНрдпрд╛рдд рдХрд╛рд╣реА рдЕрд░реНрде рдирд╛рд╣реА), рдореВрд▓реНрдп 30 (рджрд┐рд╡рд╕) рдЖрд╣реЗ, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдЖрдгрд┐, рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдореНрд╣рдгрдЬреЗ, рд╕реЗрдЯ рдХрд░рд╛. рдХрд╛рд░реНрдпрдХреНрд░рдорд╛рдЪреА рдкреБрдирд░рд╛рд╡реГрддреНрддреА рд╡реЗрд│. рдЙрддреНрдкрд╛рджрдирд╛рддреАрд▓ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрд╕рд╛рдареА, рдореА рддреЗ рджрд┐рд╡рд╕рд╛рддреВрди рдПрдХрджрд╛ (86400 рд╕реЗрдХрдВрдж) рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ, рдЕрдиреНрдпрдерд╛ рдЖрдкрдг рд╕реВрдЪрдирд╛рдВрдордзреНрдпреЗ рдмреБрдбреВ рд╢рдХрддрд╛ (рдЬреЗ, рддрд╕реЗ, рдПрдХрджрд╛рдЪ рдШрдбрд▓реЗ, рдЗрддрдХреЗ рдХреА рдЖрдард╡рдбреНрдпрд╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдореЗрд▓рдмреЙрдХреНрд╕ рднрд░рд▓рд╛ рд╣реЛрддрд╛). рдбреАрдмрдЧрд┐рдВрдЧ рд╡реЗрд│реЗрд╕рд╛рдареА, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, 60 рд╕реЗрдХрдВрдж рдХрдореА рд╕реЗрдЯ рдХрд░рдгреЗ рдЕрд░реНрдердкреВрд░реНрдг рдЖрд╣реЗ.

реи.рдЗрдиреН рдХреНрд░рд┐рдпрд╛ рдХреЙрдиреНрдлрд┐рдЧрд░реЗрд╢рди рд╕реВрдЪрдирд╛ рдкрддреНрд░ рдЯреЗрдореНрдкрд▓реЗрдЯ рддрдпрд╛рд░ рдХрд░рд╛, рдЬрд╕реЗ рдХреА:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рд╣реЗ рд╕рд░реНрд╡ %m, %S, рдЗ. тАФ рдореЕрдХреНрд░реЛ рдЬреНрдпрд╛рдордзреНрдпреЗ рдЖрдордЪреНрдпрд╛ рдкреЕрд░рд╛рдореАрдЯрд░рдордзреАрд▓ рдореВрд▓реНрдпреЗ рдмрджрд▓рд▓реА рдЬрд╛рддреАрд▓. рдордзреНрдпреЗ рддреНрдпрд╛рдВрдЪреЗ рдЕрдзрд┐рдХ рддрдкрд╢реАрд▓рд╡рд╛рд░ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ рдореЕрдиреНрдпреБрдЕрд▓ NetXMS.

4. рдЖрдгрд┐ рд╢реЗрд╡рдЯреА, рдорд╛рдЧреАрд▓ рдмрд┐рдВрджреВ рдПрдХрддреНрд░ рдХрд░реВрди, рдордзреНрдпреЗ рдЗрд╡реНрд╣реЗрдВрдЯ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдзреЛрд░рдг рдПрдХ рдирд┐рдпрдо рддрдпрд╛рд░ рдХрд░рд╛ рдЬреНрдпрд╛рдиреБрд╕рд╛рд░ рдЕрд▓рд╛рд░реНрдо рддрдпрд╛рд░ рдХреЗрд▓рд╛ рдЬрд╛рдИрд▓ рдЖрдгрд┐ рдПрдХ рдкрддреНрд░ рдкрд╛рдард╡рд▓реЗ рдЬрд╛рдИрд▓:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрдореНрд╣реА рдкреЙрд▓рд┐рд╕реА рдЬрддрди рдХрд░рддреЛ, рд╕рд░реНрд╡рдХрд╛рд╣реА рддрдкрд╛рд╕рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдереНрд░реЗрд╢реЛрд▓реНрдб рдЬрд╛рд╕реНрдд рд╕реЗрдЯ рдХрд░реВрдпрд╛. рдорд╛рдЭреЗ рд╕рд░реНрд╡рд╛рдд рдЬрд╡рд│рдЪреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ 723 рджрд┐рд╡рд╕рд╛рдВрдд рд╕рдВрдкреЗрд▓, рдореА рддреЗ рддрдкрд╛рд╕рдгреНрдпрд╛рд╕рд╛рдареА 724 рд╡рд░ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ. рдкрд░рд┐рдгрд╛рдореА, рдЖрдореНрд╣рд╛рд▓рд╛ рдЦрд╛рд▓реАрд▓ рдЕрд▓рд╛рд░реНрдо рдорд┐рд│рддреЛ:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрдгрд┐ рд╣реА рдИрдореЗрд▓ рд╕реВрдЪрдирд╛:

NetXMS рд╡рд░ Windows рдордзреНрдпреЗ рдкреНрд░рдорд╛рдгрдкрддреНрд░ рдХрд╛рд▓рдмрд╛рд╣реНрдпрддрд╛ рддрд╛рд░рдЦреЗрдЪреЗ рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдгреЗ

рдЖрддрд╛ рдПрд╡рдвреЗрдЪ рдирд┐рд╢реНрдЪрд┐рдд. рдирдХреНрдХреАрдЪ, рдбреЕрд╢рдмреЛрд░реНрдб рд╕реЗрдЯ рдХрд░рдгреЗ рдЖрдгрд┐ рдЖрд▓реЗрдЦ рддрдпрд╛рд░ рдХрд░рдгреЗ рд╢рдХреНрдп рд╣реЛрдИрд▓, рдкрд░рдВрддреБ рдкреНрд░рдорд╛рдгрдкрддреНрд░рд╛рдВрд╕рд╛рдареА рд╣реЗ рдХрд╛рд╣реАрд╕реЗ рдирд┐рд░рд░реНрдердХ рдЖрдгрд┐ рдХрдВрдЯрд╛рд│рд╡рд╛рдгреЗ рд╕рд░рд│ рд░реЗрд╖рд╛ рдЕрд╕рддреАрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд┐рдВрд╡рд╛ рдореЗрдорд░реА рд▓реЛрдбрдЪреНрдпрд╛ рдЖрд▓реЗрдЦрд╛рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд. рдкрд░рдВрддреБ, рдпрд╛рд╡рд┐рд╖рдпреА рдЕрдзрд┐рдХ рдХрд╛рд╣реА рдЗрддрд░ рд╡реЗрд│реА.

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛