Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Выявить и сгруппировать данные из COM-объекта (http://forum.oszone.net/showthread.php?t=275818)

rudimko 15-01-2014 12:24 2289534

Выявить и сгруппировать данные из COM-объекта
 
Доброго дня!
Ситуация следующая: подключаюсь к COM-объекту к программе 1С8 для выявления информации о рабочих процессах, но возникла сложность, попробую ее описать.

Если вдруг кому знакомо, то подключение к 1С8:
Код:

$connector = New-Object -ComObject V82.COMConnector
$agent = $connector.ConnectAgent('tcp://HOST_SERVER:1540')
$clusters = $agent.GetClusters()
        foreach ($cluster in $clusters) {}

$administratorCluster = ""
$passwordCluster = ""
$agent.Authenticate($cluster, $AdministratorCluster, $PasswordCluster)

Далее получаем список соединений:
Код:

$connections = $agent.GetConnections($cluster)
        foreach ($connection in $connections) {}

Все нужные параметры находятся в $connection

$connection.infoBase - это название базы с которой работает текущее соединение, выводит String

$connection.process - параметры процесса
$connection.process.PID - ID процесса
$connection.process.MemorySize - Отжираемая память
$connection.process.HostName - Имя хоста сервера


Какова цель и какие затыки у меня возникли:
-----------------------------------------------------
Цель:
1. необходимо выявлять рабочие процессы ($connection.process), которые выжирают через-чур много памяти и рубить их (это понятно)
2. необходимо снять информацию с рабочего процесса перед действием №1 (информационная база, соединения на данном рабочем процессе)

Затык:
Т.к. структура COM 1С8 слегка убогая (обратная =\), а именно: переменной $connection выявляем соединение, а переменной $connection.process выявляем рабочий процесс и далее нужные параметры через ".", НО (!!!) рабочему процессу могут принадлежать несколько соединений...

Вопрос:
Как сгруппировать рабочие процессы? Т.е. создать новые объекты и сделать обратную структуру, а именно: Рабочий процесс (с такими же параметрами) -> Соединение (с параметров используемой информационной базы)


Если написал хаотично и не понятно, прошу заранее извинения, в голове каша. ;) Заранее спасибо за помощь!


Время: 20:28.

Время: 20:28.
© OSzone.net 2001-