Соответствие между названием релиза и номером версии в Kaspersky Endpoint Security 10 для Windows
Technical training: Обучающие видео Kaspersky Endpoint Security для Бизнеса
Ошибка «MMC не удается инициализировать оснастку» в Kaspersky Security Center.
Решение:
Remove-Item "$env:userprofile\AppData\Roaming\Microsoft\MMC\Kaspersky Security Center*" -Confirm:$false -Force
mst-файл создать нельзя, поэтому через батник:
"\\ksc\KLSHARE\Packages\NetAgent_14.2.0.26967\exec\Kaspersky Network Agent.msi" /qn /l*vx %TEMP%\nag_inst.log SERVERADDRESS="ksc.example.com" DONT_USE_ANSWER_FILE=1 PRIVACYPOLICY=1 EULA=1 LAUNCHPROGRAM=1
Приходится задействовать установленный Excel для конвертации в человеческий формат, т.к. отчёт в старом формате .xls.
$path = "E:\temp\ksc-reports" $xls = dir "$path\*.xls" |sort CreationTime |select -last 1 # проверка, свежая ли выгрузка if ($xls.CreationTime -lt (get-date).AddDays(-1)) { Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user@domain.ru" -Subject "Kaspersky Security Center - выгрузка отчёта старше 1 дня" -Body " <p>Последняя выгрузка была $(($xls.creationtime).ToString("dd.MM.yyyy в HH:mm"))</p> <p>Путь: $($xls.fullname)</p>" -BodyAsHtml -Encoding UTF8 Exit } else { & "C:\Program Files (x86)\microsoft office\Office16\excelcnv.exe" -oice "$xls" "$($xls.FullName -replace '.xls','.xlsx')" gci "$path" |? CreationTime -lt (Get-Date).AddDays(-14) |remove-item -Force -Confirm:$false # cleanup } $xlsx = dir "$path\*.xlsx" |sort CreationTime |select -last 1 $period = (Import-Excel $xlsx -WorksheetName Summary -StartRow 4 -EndRow 4 -NoHeader).p1 $summary = Import-Excel $xlsx -WorksheetName Summary -StartRow 7 $details = Import-Excel $xlsx -WorksheetName Details # Общее количество экземпляров $cobj = ($summary |select -expand 'Опасных объектов' |measure -sum).sum $cfls = ($summary.'Различных файлов' |measure -sum).sum $cdev = ($summary.'Опасных устройств' |measure -sum).sum # Категории вредоносных объектов $callincidents = ($details).Count $cmailincidents = ($details.'Путь к файлу' |? { $_ -match 'outlook' -or $_ -match '.pst' -or $_ -match 'from:' }).Count $ccacheincidents = ($details.'Путь к файлу' |? { $_ -match 'Temporary Internet Files' -or $_ -match 'Firefox' -or $_ -match 'Chrome' -or $_ -match 'browser' }).Count $cfileincidents = ($details.'Путь к файлу' |? { $_ -notmatch 'outlook' -and $_ -notmatch '.pst' -and $_ -notmatch 'from:' -and $_ -notmatch 'Temporary Internet Files' -and $_ -notmatch 'Firefox' -and $_ -notmatch 'Chrome' -and $_ -notmatch 'browser' }).Count # Уникальных значений $udev = ($details.'Устройство' |sort -Unique).count $uobj = ($details.'Обнаруженный объект' |sort -Unique).count $uobjtype = ($details.'Тип объекта' |sort -Unique).count $uuser = ($details.'Учетная запись' |sort -Unique).count $ucomp = ($details.'Компонент' |sort -Unique).count $report = "<p>$period</p> <h4>Антивирус на ПК пользователей выявил</h4> <b>$cobj</b> опасных объектов<br /> <b>$cfls</b> различных файлов<br /> <b>$cdev</b> опасных устройств <h4>Всего инцидентов $callincidents, из которых</h4> <b>$cmailincidents</b> заражённых почтовых сообщений (в т. ч. в архивных почтовых файлах)<br /> <b>$cfileincidents</b> вредоносных файлов<br /> <b>$ccacheincidents</b> вредоносных файлов из интернет-кэша <h4>Подверглись действию вредоносных программ</h4> <b>$udev</b> компьютеров<br /> <b>$uuser</b> учётных записей <h4>Обнаружено вредоносных программ</h4> <b>$uobj</b> уникальных видов<br /> <b>$uobjtype</b> уникальных типов<br /> <b>$ucomp</b> компонентов защиты задействовано <p><i>Отчёт сформирован $((get-date).ToString()) скриптом $($PSScriptRoot + '\' + $MyInvocation.MyCommand) на компьютере $($env:COMPUTERNAME).</i></p> " Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user@domain.ru" -Subject "Kaspersky Security Center - отчёт об угрозах" -Body "$report" -Encoding UTF8 -BodyAsHtml
# https://help.kaspersky.com/ks4exchange/9.5/ru-ru/116182.htm Import-Module 'C:\Program Files (x86)\Kaspersky Lab\Kaspersky Security for Microsoft Exchange Servers\Kse.Powershell.dll' -DisableNameChecking $lastmonday = ((get-date).adddays(-$(((get-date).DayOfWeek.value__)+6))).Date $lastsunday = ($lastmonday.AddDays(7)).AddSeconds(-1) $srv = 'edge.domain.ru' $report = "<h3>Kaspersky for Exchange - статистика c $($lastmonday.ToString()) по $($lastsunday.ToString())</h3>" # Просмотр статистики работы модулей Антивируса и фильтрации вложений $avstat = Get-KSEAVServerStatistics -AntivirusRole Transport -From $lastmonday -to $lastsunday -ServerFqdn $srv $report += $avstat |select @{n='Всего объектов проверено';e={$_.TotalCheckedObjects}}, @{n='Чистых объектов';e={$_.CleanObjects}}, @{n='Заражено';e={$_.InfectedObjects}}, @{n='Вылечено';e={$_.DisinfectedObjects}}, @{n='Подозрительных объектов';e={$_.SuspiciousObjects}}, @{n='Отфильтровано вложений';e={$_.AttachmentFilteredObjects}}, @{n='Пропущено из-за ошибки лицензии';e={$_.SkippedByLicenseErrorObjects}}, @{n='Пропущено по тайм-ауту';e={$_.SkippedByTimeoutObjects}}, @{n='Пропущено из-за ошибок обработки';e={$_.SkippedByProcessingErrorObjects}} | ConvertTo-Html -PreContent '<h4>Статистика работы модулей антивируса и фильтрации вложений</h4>' -Fragment -As List # Просмотр статистики работы модуля Анти-Спам $spamstat = Get-KSEASServerStatistics -From $lastmonday -to $lastsunday -ServerFqdn $srv $report += $spamstat |select @{n='Всего сообщений проверено';e={$_.TotalCheckedMessages}}, @{n='Чистых сообщений';e={$_.CleanMessages}}, @{n='Спам';e={$_.SpamMessages}}, @{n='Вероятный спам';e={$_.ProbableSpamMessages}}, @{n='Формальное оповещение';e={$_.FormalMessages}}, @{n='В чёрном списке';e={$_.BlackListedMessages}}, @{n='Доверенные';e={$_.TrustedMessages}}, @{n='Массовые рассылки';e={$_.MassMailMessages}}, @{n='Фишинг';e={$_.PhishingMessages}}, @{n='Непроверенных';e={$_.NotCheckedMessages}} | ConvertTo-Html -PreContent '<h4>Статистика работы модуля антиспама</h4>' -Fragment -As List $report += "<p><i>Отчёт сформирован $((get-date).ToString()) скриптом $($PSScriptRoot + '\' + $MyInvocation.MyCommand) на компьютере $($env:COMPUTERNAME).</i></p>" Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user1@domain.ru","user2@domain.ru","user3@domain.ru" -Subject "Kaspersky for Exchange - статистика за прошлую неделю" -Body "$report" -Encoding UTF8 -bodyashtml # Просмотр состояния защиты сервера Microsoft Exchange $status = Get-KSEServerStatus -ServerFqdn $srv $licexp = (($status.LicenseExpirationDate -as [datetime]) - (get-date)).days if ($licexp -lt 45) { Send-MailMessage -SmtpServer mail.domain.ru -From "support@domain.ru" -To "user1@domain.ru","user2@domain.ru","user3@domain.ru" -Subject "Kaspersky for Exchange - лицензия истекает" -Body " <p>Лицензия Kaspersky Security для Microsoft Exchange Servers на сервере $srv закончится менее чем через <b>45</b> дней.</p> <p>Дата истечения лицензии: <b>$(($status.LicenseExpirationDate).tostring())</b></p> " -Encoding UTF8 -bodyashtml }
Исправление ожидается в рамках патча B для Kaspersky Security Center 11.
На текущий момент существует обходное решение:
Stop-Service kladminserver -Confirm:$false Stop-Process klfc.exe -Force -Confirm:$false del "C:\ProgramData\KasperskyLab\adminkit\bases\cache\cat_engine*" Start-Service kladminserver