Введение в технологию «Kaspersky Security Center Automation 10»

Добрый день! Каждый программист или системный администратор писал скрипты для взаимодействия с другим приложений с помощью технологии com(ole). Пример приведу банальный — работа с MS Office. Сейчас хочу немного поделиться, как это работает в программных продуктах Касперского. На примере будет взят Kaspersky Security Center 10 для корпоративных клиентов. Так же я буду пояснять, в каких случаях это будет использовано. Подключение к com будет осуществлять при помощи powershell 2.

Комплекс Kaspersky Security Center 10 поддерживает технологию «Kaspersky Security Center Automation 10». Эта технология предоставляет администратору сети возможность автоматизировать антивирусную защиту или управлять настройками сервера администрирования с помощью написания скриптов и сценариев запуска.

Файлы, отвечающие за работу сервиса, находятся Kaspersky Security Center Console.

Список файлов:
  • 1) klakaut.exe — Исполняющий файл;
  • 2) klakaut.chm — Файл справка;
  • 3) klakaut.zip — Архив с примерами.


Сегодня разберем простейший пример поиска на сервере KSC компьютера и вывод его хоста.

cls
function AcquireAdServerProxy($strAddress)
{    
    $oSrvConnectionProps = new-object -comobject klakaut.KlAkParams
    $oSrvConnectionProps.Add("Address",$strAddress);
    $oSrvConnectionProps.Add("UseSSL",$true);
    
    $oAdmServer = new-object -comobject klakaut.KlAkProxy;
    $oAdmServer.Connect($oSrvConnectionProps);
    return $oAdmServer;
};


$oAdmServer = AcquireAdServerProxy("Ваш сервер");
$oSrvConnectionProps = new-object -comobject klakaut.KlAkHosts  # Подключается к com.api
$oFileds2Return = new-object -comobject "klakaut.KlAkCollection"; # Создаем коллекцию столбцов необходимых для вывода и фильтрации информации
$oFileds2Return.SetSize(2); #Размер массива информации
$oFileds2Return.SetAt(0, "KLHST_WKS_HOSTNAME"); # Необходимые столбцы 
$oFileds2Return.SetAt(1, "KLHST_WKS_DN");
$oFileds2Order = new-object -comobject "klakaut.KlAkCollection"; 
$oSrvConnectionProps.AdmServer = $oAdmServer;
$str = 'KLHST_WKS_DN = "ПК*"' # Поисковая строка
$as = $oSrvConnectionProps.FindHosts($str,$oFileds2Return,$oFileds2Order) # Получение информации
$as.Count # количество строк вывода 
foreach ( $cc in $as ){
$cc.Item("KLHST_WKS_DN") # Вывод доменное имя пк
}


Function AcquireAdServerProxy($strAddress) — Данная функция инициализирует подключение к серверу.
Теги:
Kaspersky Security Center, OLE, API, COM, powershell

Данная статья не подлежит комментированию, поскольку её автор ещё не является полноправным участником сообщества. Вы сможете связаться с автором только после того, как он получит приглашение от кого-либо из участников сообщества. До этого момента его username будет скрыт псевдонимом.