Kaspersky security center 13 руководство администратора pdf

Version 14.2.0.26967 | Windows | Full distributive дистрибутив windows русский Скачать
Version 14.2.0.26967 | Windows | Web console дистрибутив windows русский Скачать
Справка документация русский Скачать
Version 14.2.0.23324 | Alt Linux x64 | Web console дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Debian arm64 | Administration Agent дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian arm64 | Files for Agent remote installation дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian i386 | Administration Agent дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian i386 | Files for Agent remote installation дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian x64 | Administration Agent дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian x64 | Administration server дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian x64 | Files for Agent remote installation дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Debian x64 | Web console дистрибутив linux/unix (deb) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux arm64 | Administration Agent дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux arm64 | Files for Agent remote installation дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux i386 | Administration Agent дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux i386 | Files for Agent remote installation дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux x64 | Administration Agent дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux x64 | Administration server дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux x64 | Files for Agent remote installation дистрибутив linux/unix (rpm) русский Скачать
Version 14.2.0.23324 | Red Hat Enterprise Linux x64 | Web console дистрибутив linux/unix (rpm) русский Скачать

Продукты в которые входит дистрибутив:

  • Для бизнеса

English (UK)

日本語
Русский
English (UK)
English (Global)
Deutsch
Français
English (US)

Personal Account

KSOS Management Console

CompanyAccount

Solutions

Downloads

Support

Frequently asked questions (FAQ)

Knowledge Base

Online Help

Forum

Blog

Contact support

Product support lifecycle

Support services

Kaspersky Professional Services

Premium Support

Learning

Free services and tools

Scan a file or link

Free tools

SecureList

For Partners

  • Solutions
  • Downloads
    • Frequently asked questions (FAQ)

    • Knowledge Base

    • Online Help

    • Forum

    • Blog

    • Contact support

    • Product support lifecycle

    • Kaspersky Professional Services

    • Premium Support

    • Learning

    • Scan a file or link

    • Free tools

    • SecureList

  • For Partners
    • KSOS Management Console

    • CompanyAccount

  • 日本語
    Русский
    English (UK)
    English (Global)
    Deutsch
    Français
    English (US)

    Нет результатов

Support

Support for Business Products

Kaspersky Security Center 13

Kaspersky Security Center 13

Knowledge Base
Online Help


FAQ

System requirements

Download

Buy

Renew

Forum

Contact support

Recovery tools

Product videos

Нет результатов

Installation

Articles

Sort by

How to create a remote installation package in Kaspersky Security Center10 March 2023

How to install Kaspersky Endpoint Security while deploying the OS image through Kaspersky Security Center 11 April 2022

Deployment scripts for deploying protection28 June 2022

How to deploy Kaspersky Hybrid Cloud Security in Yandex.Cloud 28 June 2022

How to download Network Agent in Kaspersky Security Center01 December 2021

Showing 1-5 of 5

Did you find what you were searching for?

Thank you for your feedback!

Website feedback

What information, in your opinion, should we add to this page? Write your comment in the form below. If you want to contact technical support, close this pop-up and click Contact support.

Join us on Telegram

Release info, latest updates in the support lifecycle and new articles

QR code for opening Kaspersky Technical Support channel on Telegram

Select language

Deutsch

English (Global)

English (UK)

English (US)

Français

Русский

日本語

Время на прочтение
12 мин

Количество просмотров 52K

Как это ни странно, я нашёл на Хабре всего одну статью по данной тематике — и ту в песочнице и

сильно незаконченную

фактически содержащую в себе маленький кусочек чуть переделанной справки по продукту. Да и Google по запросу klakaut молчит.

Я не собираюсь рассказывать, как администрировать иерархию Kaspersky Security Center (далее по тексту KSC) из командной строки — мне это пока не понадобилось ни разу. Просто хочу поделиться некоторыми соображениями по поводу средств автоматизации с теми, кому это может понадобиться, и разберу один кейс, с которым мне пришлось столкнуться. Если тебе, %habrauser%, эта тема будет интересной — добро пожаловать под кат.

Исторически сложилось так, что в качестве средства антивирусной защиты на работе я предпочитаю продукты Лаборатории Касперского (далее ЛК). Причины и прочие священные войны личных мнений, пожалуй, оставим за кадром.

Естественно, хотелось бы централизованно развернуть, защитить,

оградить и не пущать

рисовать красивые графики, интегрироваться в существующие системы мониторинга и заниматься прочим перекладыванием работы с больной головы на здоровый сервер. И если с развёртыванием и защитой тут всё более или менее в порядке (у ЛК даже есть какие-то онлайн-курсы по продуктам), то с интеграцией уже сильно грустнее: в последней на текущий момент версии KSC 10.2.434 появилась интеграция аж с двумя SIEM: Arcsight и Qradar. На этом всё.

Для интеграции в что-то своё KSC предоставляет аж 2 интерфейса:

  • klakdb: в БД KSC есть ряд представлений с именами, начинающимися на «v_akpub_», из которых можно достать какую-то информацию о состоянии антивирусной защиты.
  • klakaut: DCOM-объект, позволяющий скриптовать работу с KSC.

По обоим пунктам есть документация в составе KSC, как это и указано в статьях, на которые я дал ссылки. Правда, документация эта вызывает ряд вопросов, которые можно задать в службу поддержки корпоративных продуктов CompanyAccount

и получить ответ вида «Уточнили информацию. К сожалению, поддержка по скриптам для klakaut не оказывается.»

.

Минусы klakdb очевидны: чтобы напрямую обратиться к БД, нужно иметь к этой БД доступ, что приводит к необходимости лишних телодвижений по созданию правил доступа в межсетевых экранах, настройке прав доступа на серверах СУБД и прочему крайне неувлекательному времяпрепровождению. Ну и плюс мониторинг актуальности всех этих правил, естественно. Особенно интересно становится, когда имеется 20+ серверов — и все в разных филиалах, в каждом из которых свои администраторы.

Ну и вишенки на этом торте: доступ исключительно Read Only и, мягко говоря, неполная информация о среде. Плюсы не столь очевидны, но тоже есть: можно очень быстро выгрузить по одному серверу статистическую информацию по количеству хостов, используемым версиям антивирусов и антивирусных баз, а главное — можно весьма удобно (удобство зависит от знания SQL) работать с зарегистрированными на KSC событиями антивирусной инфраструктуры.

klakaut в этом плане значительно более интересен: подключившись к корневому серверу иерархии, можно средствами самого KSC пройтись по оной иерархии и получить доступ ко всем нужным данным. Например, построить дерево серверов KSC с пометкой, кто из них живой, а кто нет, позапускать задачи, поперемещать компьютеры и вообще дать волю фантазии.

Минусы тоже есть, естественно: долго и сложно. Если нужно собрать какую-то статистику — нужно будет сначала долго писать скрипт, а потом долго

ловить баги

ждать, когда он отработает.

Естественно, никто не запрещает (по крайней мере, мне про это неизвестно) использовать оба механизма вместе: например, пройтись по иерархии серверов с помощью klakaut, получить полный список серверов KSC с информацией об используемых БД, а потом уже передать эту информацию в более другие средства автоматизации, которые удалят устаревшие правила из сетевых экранов, создадут новые, дадут разрешения на доступ и

принесут кофе в постель

отредактируют список источников данных в вашей системе мониторинга, которая, в свою очередь, опросит список и, обнаружив какие-нибудь девиации, с помощью klakaut сделает что-нибудь хорошее. Ну, или просто зарегистрирует инцидент в трекере. Тогда что-нибудь хорошее сделают администраторы в ручном режиме.

Воодушевлённый всеми этими соображениями, я написал свой первый скрипт:

Вот он

$Params = New-Object -ComObject 'klakaut.KlAkParams';
$Params.Add('Address', 'localhost:13000');
$Params.Add('UseSSL', $true);

$Proxy = New-Object -ComObject 'klakaut.KlAkProxy';
try {
    $Proxy.Connect($Params);
    $Proxy.Disconnect();
} catch {
    $_;
}

Remove-Variable -Name 'Params';
Remove-Variable -Name 'Proxy';

И запустил его на сервере:

Exception calling "Connect" with "1" argument(s): "Transport level error while connecting to http://localhost:13000: authentication failure"
At line:7 char:5
+     $Proxy.Connect($Params);
+     ~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [], MethodInvocationException
    + FullyQualifiedErrorId : ComMethodTargetInvocation


Начало хорошее.

Хозяйке на заметку

Если использовать js, эта ошибка не возникает. Интересно, почему.

Открыв консоль KSC, я убедился, что с правами у меня всё в порядке.

К сожалению, KSC не логирует неудачные попытки входа. Переписка с вендором показала, что логирование неудачных попыток входа можно включить (это была отдельная увлекательная история, которая, кстати, ещё не закончилась), однако данная конкретная попытка в логи всё равно попадать отказалась.

Казалось бы, можно сделать вот так:

Неправильный скрипт

$Params = New-Object -ComObject 'klakaut.KlAkParams';
$Params.Add('Address', 'localhost:13000');
$Params.Add('UseSSL', $true);

#------------ Зададим в явном виде данные для входа --------------------------------
$Params.Add('User', 'kavadmin');
$Params.Add('Password', 'P@ssw0rd');
$Params.Add('Domain', 'test');
#-----------------------------------------------------------------------------------

$Proxy = New-Object -ComObject 'klakaut.KlAkProxy';
try {
    $Proxy.Connect($Params);
    $Proxy.Disconnect();
}

Remove-Variable -Name 'Params';
Remove-Variable -Name 'Proxy';

В этом случае никаких ошибок не будет, но указывать логин с паролем открытым текстом в скрипте мне не показалось замечательной идеей. Новая переписка с техподдержкой ЛК подарила мне следующую рекомендацию:

Необходимо выставить в настройках COM, на вкладке Default Properties:
Default Authentication Level: Packet
Default Impersonation Level: Delegate

Эта инструкция заставила работать исходный скрипт, но показалась мне сомнительной в плане безопасности, поэтому я решил покопать чуть глубже. После некоторого времени поисков нашёлся добрый человек, который подсказал мне, как задать указанные уровни проверки подлинности и олицетворения для конкретного объекта, а не разрешать всем и всё сразу:

Правильный скрипт

$Params = New-Object -ComObject 'klakaut.KlAkParams';
$Params.Add('Address', 'localhost:13000');
$Params.Add('UseSSL', $true);

$Proxy = New-Object -ComObject 'klakaut.KlAkProxy';

$code =  @"
using System;
using System.Runtime.InteropServices;

public class PowershellComSecurity
{
   [DllImport("Ole32.dll", CharSet = CharSet.Auto)]
   public static extern int CoSetProxyBlanket(IntPtr p0, uint p1, uint p2, uint p3, uint p4, uint p5, IntPtr p6, uint p7);

   public static int EnableImpersonation(object objDCOM) { return CoSetProxyBlanket(Marshal.GetIDispatchForObject(objDCOM), 10, 0, 0, 0, 3, IntPtr.Zero, 0); }
}
"@
Add-Type -TypeDefinition $code;
Remove-Variable -Name 'code';

[PowershellComSecurity]::EnableImpersonation($Proxy) | Out-Null;

try {
    $Proxy.Connect($Params);
    # <-- Вот сюда мы будем вставлять код
    $Proxy.Disconnect();
} catch {
    $_;
}

Remove-Variable -Name 'Params';
Remove-Variable -Name 'Proxy';

Вот так скрипт никаких ошибок выдавать не стал. Первый квест пройден.

Хозяйке на заметку

Вообще в боевой среде неплохо бы проверять при вызове EnableImpersonation возвращаемое значение на предмет ошибок, а не перенаправлять его в никуда, как это сделал я.

Следующая задача: получить от KSC данные об используемой БД.

А вот тут всё сложно: документация о том, как это сделать, молчит. Исследование класса KlAkProxy ничего интересного не выявило, кроме параметра KLADMSRV_SERVER_HOSTNAME, который оказался идентификатором компьютера, на котором установлен KSC.

Перейдём тогда к компьютеру, для этого есть специальный класс KlAkHosts2. Для сокращения количества кода приведу только содержимое блока try:

блок try

try {
    $Proxy.Connect($Params);
    $KSCHost = New-Object -ComObject 'klakaut.KlAkHosts2';
    $KSCHost.AdmServer = $Proxy;
    $HostParams = New-Object -ComObject 'klakaut.KlAkCollection';
    $HostParams.SetSize(1);
    $HostParams.SetAt(0, 'KLHST_WKS_DN');
    ($KSCHost.GetHostInfo($Proxy.GetProp('KLADMSRV_SERVER_HOSTNAME'), $HostParams)).Item('KLHST_WKS_DN');
    Remove-Variable -Name 'HostParams';
    Remove-Variable -Name 'KSCHost';
    $Proxy.Disconnect();
}

Обратите внимание: переменная $Params, которую я использовал при подключении к KSC — экземпляр класса KlAkParams. А переменная $HostParams при, на мой взгляд, аналогичной функциональности, является экземпляром класса KlAkCollection. Почему используются разные классы — боюсь даже представить. Видимо, то, что SetAt принимает первым аргументом только целочисленные значения — очень принципиальный момент.

Данный код вернул значение «KSC», а значит, я на верном пути.

Метод GetHostInfo класса KlAkHosts2 достаточно хорошо задокументирован, но — не содержит нужной мне информации. Увы и ах. Зато есть метод GetHostSettings. Всё описание для которого сводится к следующему:

Returns host’s settings as setting storage.

Давайте, заглянем внутрь:

try

try {
    $Proxy.Connect($Params);
    $KSCHost = New-Object -ComObject 'klakaut.KlAkHosts2';
    $KSCHost.AdmServer = $Proxy;
    $KSCSettings = $KSCHost.GetHostSettings($Proxy.GetProp('KLADMSRV_SERVER_HOSTNAME'), 'SS_SETTINGS');
    $KSCSettings.Enum() | % {
        '------------------------';
        $tmp = $_;
        $tmp | % {"$_ = $($tmp.Item($_))";};
        Remove-Variable -Name 'tmp';
    };
    Remove-Variable -Name 'KSCSettings';
    Remove-Variable -Name 'KSCHost';
    $Proxy.Disconnect();
}

Результат

------------------------
PRODUCT = .core
SECTION = SubscriptionData
VERSION = .independent
------------------------
PRODUCT = 1093
SECTION = 85
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = 87
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLEVP_NF_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLNAG_SECTION_DPNS
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_CONSRVINIT
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_CONSRVUPGRADE
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_DEF_NAGENT_PACKAGE
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_MASTER_SRV
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_NETSIZE_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_PKG_ANDROID_CERT_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_PROXY_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_SRVLIC_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KLSRV_USER_ACCOUNTS_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KSNPROXY_KEY_STORAGE
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = KSNPROXY_SETTINGS
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = Packages
VERSION = 1.0.0.0
------------------------
PRODUCT = 1093
SECTION = Updater
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = 85
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = 86
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = FileTransfer
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = KLEVP_NF_SECTION
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = KLNAG_KLNLA_DATA
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = KLNAG_SECTION_NETSCAN
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = KLNAG_SECTION_SERVERDATA
VERSION = 1.0.0.0
------------------------
PRODUCT = 1103
SECTION = Updater
VERSION = 1.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = .KLNAG_SECTION_REBOOT_REQUEST
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = 85
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Backup section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Business logic section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = HSM system section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Internal product info
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = KLEVP_NF_SECTION
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Notification section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Predefined tasks section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Quarantine section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Reporting section
VERSION = 8.0.0.0
------------------------
PRODUCT = KAVFSEE
SECTION = Trusted processes section
VERSION = 8.0.0.0

В klakaut.chm есть раздел «List of KLHST_WKS_PRODUCT_NAME and KLHST_WKS_PRODUCT_VERSION values for products», где можно подсмотреть, что поле PRODUCT для KSC должно быть 1093, соответственно, всё остальное можно смело проигнорировать. Пока что, по крайней мере.

Пробежавшись глазами по названиям секций, я решил просмотреть 85 и 87, поскольку остальные на нужное мне были не очень похожи.

try

try {
    $Proxy.Connect($Params);
    $KSCHost = New-Object -ComObject 'klakaut.KlAkHosts2';
    $KSCHost.AdmServer = $Proxy;
    $KSCSettings = $KSCHost.GetHostSettings($Proxy.GetProp('KLADMSRV_SERVER_HOSTNAME'), 'SS_SETTINGS');
    $KSCSettings.Read('1093', '1.0.0.0', '85');
    '-----------------';
    $KSCSettings.Read('1093', '1.0.0.0', '87');
    Remove-Variable -Name 'KSCSettings';
    Remove-Variable -Name 'KSCHost';
    $Proxy.Disconnect();
}

Результат

EventFolder
EventStoragePath
KLAG_WAIT_SCHED_FOR_START_EVENT
TaskStoragePath
-----------------
KLSRV_AD_SCAN_ENABLED
KLSRV_CONNECTION_DATA
KLSRV_DATABASENAME
KLSRV_NET_SCAN_ENABLED
KLSRV_SERVERINSTANCENAME
KLSRV_SP_DPNS_ENABLE
KLSRV_SP_FASTUPDATENET_PERIOD
KLSRV_SP_FULLUPDATENET_PERIOD
KLSRV_SP_INSTANCE_ID
KLSRV_SP_MAX_EVENTS_IN_DB
KLSRV_SP_OPEN_AKLWNGT_PORT
KLSRV_SP_SCAN_AD
KLSRV_SP_SERVERID
KLSRV_SP_SERVERID_DPE
KLSRV_SP_SERVER_AKLWNGT_PORTS_ARRAY
KLSRV_SP_SERVER_PORTS_ARRAY
KLSRV_SP_SERVER_SSL_PORTS_ARRAY
KLSRV_SP_SERVER_SSL_PORTS_ARRAY_GUI
KLSRV_SP_SYNC_LIFETIME
KLSRV_SP_SYNC_LOCKTIME
KLSRV_SP_SYNC_SEC_PACKET_SIZE
KLSRV_SSL_CERT_RSA_BIT_NUMBER

Секция 85, судя по всему, отвечает за события и ныне нам неинтересна. А вот в 87 есть что-то, на что стоит обратить внимание:

try

try {
    $Proxy.Connect($Params);
    $KSCHost = New-Object -ComObject 'klakaut.KlAkHosts2';
    $KSCHost.AdmServer = $Proxy;
    $KSCSettings = $KSCHost.GetHostSettings($Proxy.GetProp('KLADMSRV_SERVER_HOSTNAME'), 'SS_SETTINGS');
    $87 = $KSCSettings.Read('1093', '1.0.0.0', '87');
    "KLSRV_SERVERINSTANCENAME = $($87.Item('KLSRV_SERVERINSTANCENAME'))";
    "KLSRV_DATABASENAME = $($87.Item('KLSRV_DATABASENAME'))";
    "KLSRV_CONNECTION_DATA =`r`n$($87.Item('KLSRV_CONNECTION_DATA') | % {"`t$_ = $($87.Item('KLSRV_CONNECTION_DATA').Item($_))`r`n";})";
    Remove-Variable -Name '87';
    Remove-Variable -Name 'KSCSettings';
    Remove-Variable -Name 'KSCHost';
    $Proxy.Disconnect();
}

Результат

KLSRV_SERVERINSTANCENAME = .
KLSRV_DATABASENAME = KAV
KLSRV_CONNECTION_DATA =
	KLDBCON_DB = KAV
 	KLDBCON_DBTYPE = MSSQLSRV
 	KLDBCON_HOST = .

Тут я воспользовался одним из предыдущих кейсов, где упоминалось, что нужные данные следует брать именно из KLSRV_CONNECTION_DATA (тогда я ещё не знал, что это вообще такое, просто отложилось).

Ну, вот, в общем-то, и всё. Данные об используемой БД получены. Квест пройден.

Наверное, ещё неплохо бы набросать скрипт для прохождения по иерархии серверов. Здесь ничего загадочного не оказалось, всё было вполне по документации. Я написал скрипт, который выбирает UID родителя, UID самого сервера, экземпляр СУБД и имя БД и выводит их в stdout через разделитель.

Скрипт

$SrvAddr = 'localhost:13291'

function EnumSrv(
    $Pxy,
    [bool]$IsAlive = $true,
    [string]$ParentPxyId = 'Root'
)
{
    [string]$result = "$ParentPxyId";
    if ($IsAlive) {
        $result += "|$($Pxy.GetProp('KLADMSRV_SERVER_HOSTNAME'))";
        
        $Hosts = New-Object -ComObject 'klakaut.KlAkHosts2';
        $Hosts.AdmServer = $Pxy;
        
        $Settings = $Hosts.GetHostSettings($Pxy.GetProp('KLADMSRV_SERVER_HOSTNAME'), 'SS_SETTINGS').Read('1093', '1.0.0.0', '87').Item('KLSRV_CONNECTION_DATA');
        Remove-Variable -Name 'Hosts';
    
        #'-------->   DB  Info <--------';
        $result += "|$($Settings.Item('KLDBCON_HOST'))";
        $result += "|$($Settings.Item('KLDBCON_DB'))";
        #'-----------------------------';
        
        Remove-Variable -Name 'Settings';
        
        $SlaveSrvEnum = New-Object -ComObject 'klakaut.KlAkSlaveServers';
        $SlaveSrvEnum.AdmServer = $Pxy;
        $SlaveServers = $SlaveSrvEnum.GetServers(-1);
        
        $SlaveServers | % {
            $Child = $_;
            $TmpSrvId = $Child.Item('KLSRVH_SRV_ID');
            $HostActive = $true;
            try
            {
                $TmpSrv = $SlaveSrvEnum.Connect($TmpSrvId, -1);
            }
            catch
            {
                $HostActive = $false;
            };
            if ($HostActive) {$HostActive = ($TmpSrv.GetProp('IsAlive') -eq 1);};
            $result += "`r`n$(EnumSrv -Pxy $TmpSrv -IsAlive $HostActive -ParentPxyId $Pxy.GetProp('KLADMSRV_SERVER_HOSTNAME'))";
        };
        Remove-Variable -Name 'SlaveServers';
        Remove-Variable -Name 'SlaveSrvEnum';
    };
    return ("$result`r`n");
}

Clear-Host

$Params = New-Object -ComObject 'klakaut.KlAkParams'
$Params.Add('Address', $SrvAddr)
$Params.Add('UseSSL', $true)

$code =  @"
using System;
using System.Runtime.InteropServices;

public class PowershellComSecurity
{
   [DllImport("Ole32.dll", CharSet = CharSet.Auto)]
   public static extern int CoSetProxyBlanket(IntPtr p0, uint p1, uint p2, uint p3, uint p4, uint p5, IntPtr p6, uint p7);

   public static int EnableImpersonation(object objDCOM) { return CoSetProxyBlanket(Marshal.GetIDispatchForObject(objDCOM), 10, 0, 0, 0, 3, IntPtr.Zero, 0); }
}
"@
Add-Type -TypeDefinition $code

$Srv = New-Object -ComObject 'klakaut.KlAkProxy'
[PowershellComSecurity]::EnableImpersonation($Srv) | Out-Null
$Srv.Connect($Params)

"ParentPxyId|KLADMSRV_SERVER_HOSTNAME|KLDBCON_HOST|KLDBCON_DB`r`n" + (EnumSrv -Pxy $Srv);
Remove-Variable -Name 'Srv';
Remove-Variable -Name 'Params';

Стенд маленький, поэтому результат оказался не очень впечатляющим:

Результат

ParentPxyId|KLADMSRV_SERVER_HOSTNAME|KLDBCON_HOST|KLDBCON_DB
Root|9d476a75-1e36-4c0e-8145-56e5b888df67|.|KAV
9d476a75-1e36-4c0e-8145-56e5b888df67|ef4fc3be-3abd-4322-ae35-2c50afdce780|.KAV_CS_ADMIN_KIT|KAV

Естественно, чтобы превратить точку в актуальное имя сервера, придётся поколдовать с KlAkHosts2.GetHostInfo(), но это уже не столь страшно, просто ещё сколько-то кода.

Техподдержка ЛК, естественно, пугала меня тем, что структура SS_SETTINGS в следующих релизах KSC может поменяться, поэтому так лучше не делать. К сожалению, даже мой внутренний перфекционист считает, что скрипт нельзя просто написать и забыть: при смене версии используемого ПО его по-любому придётся тестировать и отлаживать. Так что пока пользуемся тем, что есть, а проблемы будем решать по мере поступления, благо, техника уже отработана.

Kaspersky Endpoint Security for Windows

  • For version 8.1 
    русский английский немецкий французский

Kaspersky Security Center

  • For version 9.0, User Guide 
    русский английский немецкий французский
  • For version 9.0, Implementation Guide 
    русский английский немецкий французский
  • For version 9.0, Getting Started Guide 
    русский английский немецкий французский
  • For version 9.0, Administration Guide 
    русский английский немецкий французский

Kaspersky Small Office Security 2

  • Версия 2.0 (Руководство пользователя) 
    русский английский венгерский голландский датский финский испанский итальянский корейский немецкий норвежский польский португальский французский чешский шведский
  • Версия 2.0 (Руководство по установке) 
    русский английский венгерский голландский датский финский испанский итальянский корейский немецкий норвежский польский португальский французский чешский шведский

Антивирус Касперского Mobile 6.0

  • Для версии 6.0 
    русский английский испанский итальянский немецкий португальский (бразилия) французский чешский

Антивирус Касперского Business Optimal

  • Для версии 4.0 
    английский

Kaspersky Mobile Security 9 (Android OS)

  • Руководство пользователя версии 9.0 для Android 
    русский английский
  • Для версии 9.0 
    русский английский

Антивирус Касперского для Windows Workstations

  • Для версии 6.0 MP4 
    русский английский венгерский испанский испанский (латинская америка) итальянский немецкий польский португальский португальский (бразилия) французский чешский эстонский японский
  • Для версии 6.0 MP3 
    русский английский испанский итальянский немецкий португальский французский японский
  • Для версии 5.0, руководство пользователя 
    русский английский испанский немецкий французский
  • Для версии 5.0, руководство администратора 
    русский английский испанский итальянский корейский немецкий французский
  • Для версии 4.5 
    русский английский немецкий французский
  • Для версии 4.0 
    голландский испанский итальянский польский чешский эстонский

Kaspersky Endpoint Security для Linux

  • Для версии 5.7 
    русский английский немецкий французский японский
  • Для версии 5.5 
    русский английский итальянский немецкий французский
  • Для версии 5.0 
    русский английский немецкий
  • Для версии 4.5 
    русский
  • Для версии 4.0 
    польский

Kaspersky Endpoint Security для Linux

  • Для версии 8.0 (Руководство по установке) 
    русский английский английский немецкий французский
  • Для версии 8.0 (Руководство администратора) 
    русский английский английский немецкий французский

Kaspersky Endpoint Security для Mac

  • Для версии 8.0 
    русский английский испанский итальянский немецкий португальский французский японский

Антивирус Касперского Second Opinion Solution

  • Для версии 6.0 MP4 
    русский английский венгерский испанский испанский (латинская америка) итальянский немецкий польский португальский португальский (бразилия) французский чешский эстонский японский
  • Для версии 6.0 MP3 
    русский английский немецкий французский японский

Антивирус Касперского для Windows Servers Enterprise Edition

  • Типовые схемы применения для версии 6.0 
    русский английский немецкий французский японский
  • Руководство по установке для версии 6.0 
    русский английский немецкий французский японский
  • Руководство администратора для версии 6.0 
    русский английский немецкий французский японский

Антивирус Касперского для Windows File Servers

  • Для версии 6.0 MP4 
    русский английский венгерский испанский испанский итальянский немецкий польский португальский португальский французский чешский эстонский японский
  • Для версии 6.0 MP3 
    русский английский испанский итальянский немецкий португальский французский японский
  • Для версии 4.5 
    русский английский немецкий французский чешский
  • Для версии 4.0 
    испанский итальянский польский чешский

Антивирус Касперского для FreeBSD File Servers

  • Для версии 5.5 
    итальянский
  • Для версии 5.0 
    русский английский немецкий
  • Для версии 4.5 
    русский
  • Для версии 4.0 
    английский

Антивирус Касперского для Linux File Servers

  • Для версии 5.7 
    русский английский японский
  • Для версии 5.5 
    итальянский
  • Для версии 5.0 
    русский английский немецкий
  • Для версии 4.5 
    русский

Антивирус Касперского для Novell NetWare

  • Для версии 5.7 
    русский английский
  • Для версии 5.6 
    русский английский
  • Для версии 5.5 
    русский английский
  • Для версии 5.0 
    русский английский
  • Для версии 4.00.02 
    русский английский
  • Для версии 4.0 
    немецкий

Антивирус Касперского для Linux Mail Servers

  • Для версии 5.6 
    русский английский немецкий польский французский японский
  • Для версии 5.5 
    русский английский немецкий французский японский
  • Для версии 5.0.3.0 
    русский
  • Для версии 5.0 
    русский английский немецкий
  • Для версии 4.5 
    русский
  • Для версии 4.0 
    польский

Kaspersky Security for Microsoft Exchange Servers

  • Руководство по установке для версии 8.0 
    русский английский немецкий французский
  • Руководство администратора для версии 8.0 
    русский английский немецкий французский

Kaspersky Security for Microsoft Exchange Server 2003

  • Для версии  
    русский английский

Антивирус Касперского для FreeBSD Mail Servers

  • Для версии 5.5 
    русский английский немецкий французский японский
  • Для версии 5.0.3.0 
    русский
  • Для версии 5.0 
    русский английский немецкий
  • Для версии 4.5 
    русский
  • Для версии 4.0 
    английский

Антивирус Касперского для Lotus Notes/Domino

  • Для версии 5.5 
    русский английский
  • Для версии 5.0 
    русский английский
  • Для версии 4.0 
    немецкий

Антивирус Касперского для Lotus Domino

  • Для версии 8.0 — Руководство по внедрению 
    русский английский испанский немецкий португальский (бразилия) французский
  • Для версии 8.0 — Руководство администратора 
    русский английский испанский немецкий французский
  • Для версии 5.5 
    русский английский
  • Для версии 5.0 
    русский английский
  • Для версии 4.0 
    немецкий

Kaspersky Mail Gateway

  • Для версии 5.6 
    русский английский японский
  • Для версии 5.5 
    русский английский японский

Kaspersky Anti-Spam 3.0

  • Для версии 3.0 
    русский английский немецкий французский японский
  • Для версии 2.0 
    русский английский
  • Для версии 1.0 
    русский английский немецкий французский

Антивирус Касперского для Solaris Servers

  • Для версии 4.0 
    русский русский английский английский

Kaspersky SMTP-Gateway для Linux/Unix

  • Для версии 5.5 
    русский английский
  • Для версии 5.0 
    русский английский

Антивирус Касперского для Sendmail с Milter API

  • Для версии 5.6 
    русский английский
  • Для версии 5.0 
    русский английский

Kaspersky Anti-Virus for Windows Servers Enterprise Edition 8.0

  • Для версии 8.0: руководство по установке 
    русский английский немецкий французский японский
  • Для версии 8.0: руководство по развёртыванию 
    русский английский немецкий французский японский
  • Для версии 8.0: руководство администратора 
    русский английский немецкий французский японский

Kaspersky Anti-Virus for Linux File Server 8.0

  • Для версии 8.0: руководство по установке 
    русский английский немецкий французский японский
  • Для версии 8.0: руководство администратора 
    русский английский немецкий французский японский
  • Для версии 5.7 
    русский английский японский

Понравилась статья? Поделить с друзьями:
  • Индинол свечи инструкция по применению в гинекологии
  • Roland vs 880 инструкция на русском
  • Сборник инструкций по борьбе с болезнями рыб
  • Цефалексин инструкция по применению в таблетках взрослым от чего помогает
  • Рио голд подсластитель инструкция по применению