Ocs inventory ng agent for windows для чего

Всем доброго времени суток! Как видно из заголовка, речь пойдет о двух программах: 1. Open Computers and Software Inventory OCS-Inventory основан на распределяем...

Всем доброго времени суток!

Как видно из заголовка, речь пойдет о двух программах:
1. Open Computers and Software Inventory
OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

2. GPLI — Guestion Libre de Parc Informatique
Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

На просторах сети интернет достаточно много информации о настройке данной связки, но мне не встретилось ни одного подробного how to, где были бы решены все вопросы с локализацией. Поэтому я изложу компиляцию найденых решений и собственных доработок.

Итак, начнем!

Установка OCS Inventory.
Версия OCS: Ver. 1.3.2
В качестве серверной ОС для сбора данных у меня будет выступать ОС FreeBSD. Я не буду описывать установку и настройку LAMP(в данном случае FAMP =)). Будем исходить из того, что это у вас уже настроено.
Перед тем как начать установку и настройку OCS Inventory, проверьте установленны ли следующие порты
/usr/ports/www/mod_perl2
/usr/ports/sysutils/logrotate
/usr/ports/lang/perl

В конфиге apache должна быть строка
LoadModule perl_module libexec/apache22/mod_perl.so
Проверьте установленны ли следующие модули perl
Apache::DBI -- 1.08
BSD::Resource -- 1.2904
Bundle::NetSNMP -- ???
Class::Inspector -- 1.24
Compress::Raw::Bzip2 -- 2.030
Compress::Raw::Zlib -- 2.030
DBD::mysql -- 4.017
DBI -- 1.613
Digest::SHA1 -- 2.13
ExtUtils::MakeMaker -- undef
HTML::Parser -- 3.68
HTML::Tagset -- 3.20
IO::Compress -- ???
LWP -- 5.836
Locale::gettext -- 1.05
Net::IP -- 1.25
Perl -- 5.8.9
SOAP::Lite -- 0.712
Storable -- 2.21
Task::Weaken -- 1.03
URI -- 1.55
XML::Entities -- 1.0000
XML::Parser -- 2.36
XML::Simple -- 2.18
mod_perl2 -- 2.000004

для этого достаточно запустить вот такой скрипт
#!/usr/local/bin/perl
use ExtUtils::Installed;
my $instmod = ExtUtils::Installed->new();
foreach my $module ($instmod->modules()) {
my $version = $instmod->version($module) || "???";
print "$module -- $versionn";
}

Если что-то из приведенного списка у вас отсутствует, то установите коммандой
#cpan -e ModulName

1. Качаем пропатченый сервер

OCSNG в UTF8. Спасибо некоему linvinus!
Автор патча сделал для нас все что нужно, нам лишь осталось исправить небольшой недочет. Открываем архив, находим там файл /ocsinventory-server-1.3.2/ocsreports/languages/russian.txt, меняем в первой строке windows-1251 на utf8 и сохраняем в кодировке UTF8. Тарбол с исправленным russian.txt можно взять здесь

2. Распаковывыем архив в папку на сервере(у меня это /usr/local/www/ocs/).

#tar -xf OCSNG_UNIX_SERVER-1.3.2-linvinus-with-utf8_patch.tar.gz

3. Создадим директорию для logrotate

#mkdir /etc/logrotate.d

4. Изменяем владельца папки

# chown -R www:www /usr/local/www/ocs/

5. Далее переходим в папку и запускаем setup.sh

#sh setup.sh

+----------------------------------------------------------+
| |
| Welcome to OCS Inventory NG Management server setup ! |
| |
+----------------------------------------------------------+

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?
Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /usr/local/www/ocs
Storing log in file /usr/local/www/ocs/ocs_server_setup.log

+----------------------------------------------------------+
| Checking for database server properties... |
+----------------------------------------------------------+

Your MySQL client seems to be part of MySQL version 5.1.
Your computer seems to be running MySQL 4.1 or higher, good ;-)

Which host is running database server [localhost] ?
OK, database server is running on host localhost ;-)

On which port is running database server [3306] ?
OK, database server is running on port 3306 ;-)

+----------------------------------------------------------+
| Checking for Apache web server daemon... |
+----------------------------------------------------------+

Where is Apache daemon binary [/usr/local/sbin/httpd] ?
OK, using Apache daemon /usr/local/sbin/httpd ;-)

+----------------------------------------------------------+
| Checking for Apache main configuration file... |
+----------------------------------------------------------+

Where is Apache main configuration file [/usr/local/etc/apache22/httpd.conf] ?
OK, using Apache main configuration file /usr/local/etc/apache22/httpd.conf ;-)

+----------------------------------------------------------+
| Checking for Apache user account... |
+----------------------------------------------------------+

Which user account is running Apache web server [User] ?www
OK, Apache is running under user account www ;-)

+----------------------------------------------------------+
| Checking for Apache group... |
+----------------------------------------------------------+

Which user group is running Apache web server [www] ?www
OK, Apache is running under users group www ;-)

+----------------------------------------------------------+
| Checking for Apache Include configuration directory... |
+----------------------------------------------------------+

Setup found Apache Include configuration directory in
.
Setup will put OCS Inventory NG Apache configuration in this directory.
Where is Apache Include configuration directory [] ?/usr/local/etc/apache22/Includes
OK, Apache Include configuration directory /usr/local/etc/apache22/Includes found ;-)

+----------------------------------------------------------+
| Checking for PERL Interpreter... |
+----------------------------------------------------------+

Found PERL Intrepreter at </usr/bin/perl> ;-)
Where is PERL Intrepreter binary [/usr/bin/perl] ?
OK, using PERL Intrepreter /usr/bin/perl ;-)

Do you wish to setup Communication server on this computer ([y]/n)?

+----------------------------------------------------------+
| Checking for Make utility... |
+----------------------------------------------------------+

OK, Make utility found at </usr/bin/make> ;-)

+----------------------------------------------------------+
| Checking for Apache mod_perl version... |
+----------------------------------------------------------+

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher ;-)

+----------------------------------------------------------+
| Checking for Communication server log directory... |
+----------------------------------------------------------+

Communication server can create detailled logs. This logs can be enabled
by setting interger value of LOGLEVEL to 1 in Administration console
menu Configuration.
Where to put Communication server log directory [/var/log/ocsinventory-server] ?
OK, Communication server will put logs into directory /var/log/ocsinventory-server ;-)

+----------------------------------------------------------+
| Checking for required Perl Modules... |
+----------------------------------------------------------+

Checking for DBI PERL module...
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module...
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module...
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module...
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module...
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module...
Found that PERL module Net::IP is available.

+----------------------------------------------------------+
| Checking for optional Perl Modules... |
+----------------------------------------------------------+

Checking for SOAP::Lite PERL module...
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module...
Found that PERL module XML::Entities is available.

+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Configuring Communication server Perl modules... |
+----------------------------------------------------------+

Writing Makefile for Apache::Ocsinventory

+----------------------------------------------------------+
| OK, looks good ;-) |
| |
| Preparing Communication server Perl modules... |
+----------------------------------------------------------+

+----------------------------------------------------------+
| OK, prepare finshed ;-) |
| |
| Installing Communication server Perl modules... |
+----------------------------------------------------------+

+----------------------------------------------------------+
| OK, Communication server Perl modules install finished;-)|
| |
| Creating Communication server log directory... |
+----------------------------------------------------------+

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
/usr/local/www/ocs
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server

+----------------------------------------------------------+
| OK, Communication server log directory created ;-) |
| |
| Now configuring Apache web server... |
+----------------------------------------------------------+

To ensure Apache loads mod_perl before OCS Inventory NG Communication Server,
Setup can name Communication Server Apache configuration file
'z-ocsinventory-server.conf' instead of 'ocsinventory-server.conf'.
Do you allow Setup renaming Communication Server Apache configuration file
to 'z-ocsinventory-server.conf' ([y]/n) ?y
OK, using 'z-ocsinventory-server.conf' as Communication Server Apache configuration file
Removing old communication server configuration to file /usr/local/etc/apache22/Includes/ocsinventory.conf
Writing communication server configuration to file /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf

+----------------------------------------------------------+
| OK, Communication server setup sucessfully finished ;-) |
| |
| Please, review /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
| to ensure all is good. Then restart Apache daemon. |
+----------------------------------------------------------+

Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)?n

Setup has created a log file /usr/local/www/ocs/ocs_server_setup.log. Please, save this file.
If you encounter error while running OCS Inventory NG Management server,
we can ask you to show us his content !

DON'T FORGET TO RESTART APACHE DAEMON !

Enjoy OCS Inventory NG ;-)

6. Создадим файл виртуалхоста

#ee /usr/local/etc/apache22/Includes/ocs.conf
<VirtualHost *:80>
ServerAdmin webmaster@domen.ru
DocumentRoot /usr/local/www/ocs/ocsreports
ServerName ocs.domen.ru
ServerAlias www.ocs.domen.ru
ErrorLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-error_log.%Y-%m-%d-%H_%M_%S 86400"
CustomLog "|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-access_log.%Y-%m-%d-%H_%M_%S 86400" common

<Directory />
Order deny,allow
Allow from 192.168.0.0/16
Options Indexes FollowSymLinks
DirectoryIndex index.php
AllowOverride Options
php_flag file_uploads on

7. Подключимся к mysql и создадим пользователя с нужными правами

# mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or g.
Your MySQL connection id is 3495
Server version: 5.1.41 FreeBSD port: mysql-server-5.1.41

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON ocsweb.* TO 'ocs'@'localhost' IDENTIFIED BY 'ocs';

8. Мы почти у цели, открываем наш любимый фаерфокс браузер и вводим

http: // ip_address/ocsreports
В строке «Nombre del servidor» вводим localhost
image

жмем «Отправить запрос»
image
Кликаем по ссылке
image

Выбираем флаг нашей Родины и вводим admin/admin

image

9. Проверяем работоспособность нашего OCSNG сервера

Для того чтобы к нам на сервер приходили отчеты о хардверной начинке компьютеров и установленном ПО необходимо установить агента на компьютеры нашей сети. Для этого вновь идем на ftp linvinus’а и качаем пропатченный агент.
На сервере выполняем комманду
tail -F /var/log/httpd/http.ocs.domen.ru-error_log.2010-09-14-00_00_00
и переходим к установке агента. В процессе установки нам будет предложенно указать сервер для сбора данных
image
не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
Если в логе мы видим ругань подобную этой
[Tue Sep 14 19:16:34 2010] [error] [client 192.168.254.2] Can't call method "rollback" on an undefined value at /usr/local/lib/perl5/site_perl/5.8.9/Apache/Ocsinventory/Server/System.pm line 265.n
то необходимо проверить правильность установок подключения к mysql в файле
/usr/local/www/ocs/ocsreports/dbconfig.inc.php
и в
/usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
Если все в порядке, то в веб интерфейсе OCS появится новая запись, примерно как на скриншоте =)
image

10. Последним штрихом будет развертка агента в сети средствами Active Directory.

В вики OCS есть скрипт который нуждается лишь в небольшом исправлении в соответствии с реалиями вашей сети.
@echo off

REM *********** Declare variables *********************************************
REM *********** Adjust to your situation **************************************
SET Version=4061.1
REM имя или IP сервера где установлен OCSNG
SET Server=ocs.domen.ru
REM путь к папке на расшареном ресурсе, который доступен всем компьютерам домена
SET SetupPath=\dcshareUstPril

REM *********** Install if agent isn't found **********************************
IF EXIST "%PROGRAMFILES%OCS Inventory agentOCSInventory.exe" GOTO update
:install
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /DEBUG
GOTO version

:update
REM *********** Update agent if %Version%.txt isn't found *********************
IF EXIST "%PROGRAMFILES%OCS Inventory agent%Version%.txt" GOTO end
:upgrade
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /UPGRADE /DEBUG

:version
cd /D "%PROGRAMFILES%OCS Inventory agent"
echo pwouet > %Version%.txt

:end
REM *********** Cleanup variables *********************************************
SET Version=
SET Server=
SET SetupPath=


Сохраняем как install_ocs_agent.bat и настраиваем GPO соответствующим образом.
На этом с OCS закончим. Стоит лишь отметить что данные от агентов приходят с рандомной задержкой, поэтому после окончания настройки пройдет достаточно много времени перед тем как вы получите данные от всех компьютеров.

Установка GLPI.
Версия GLPI: glpi-0.72.4_1

1. Установим GLPI из портов.

make -c /usr/ports/www/glpi install clean
После чего создаем алиас или виртуалхост(кому как нравится) в апаче. У меня это алиас
Alias /glpi "/usr/local/www/glpi"
<Directory "/usr/local/www/glpi">
Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from 192.168.0.0/16

*Почему-то закрывающая «/Directory» не отобразилась, поэтому если копипастите будьте внимательны =)

2.Создадим пользователя в mysql с необходимыми правами

mysql> grant all privileges on glpi.* to 'glpi'@'localhost' identified by 'password_ololo';

3. Идем на http:// domen.ru/glpi и следуем по шагам мастера установки

image
image
image
image
image
image
image
image
image

3.Немного поправим исходники GLPI

Правим файл
/usr/local/www/glpi/inc/ocsng.class.php
Находим класс
class DBocs extends DBmysql
и меняем строку
$this->dbenc="latin1";
на
$this->dbenc="utf8";

4. Устанавливаем плагин для импорта из OCS

OCS Import

Плагин нужно распаковать в папку
/usr/local/www/glpi/plugins/

После чего перейти в веб интерфейсе GLPI
# Основная панель >
# Установки >
# Дополнения
Жмем «Установить», затем «Включить»

Далее отправляемся в
# Основная панель >
# Установки >
# Общие
# Ограничения
«Активировать режим OCSNG » — Да

теперь
# Основная панель >
# Установки >
# Режим OCSNG
Устанавливаем опции
image

# Основная панель >
# Инструментарий >
# OCSNG
# Импортирование новых компьютеров
Делаем импорт и вуаля =)
image

И в заключение экспорт в pdf на русском

1. Заменяем все вызовы utf8_decode на utf8_decode_cyr
#sed -e 's/utf8_decode/utf8_decode_cyr/g' /usr/local/www/glpi/inc/export.function.php > /usr/local/www/glpi/inc/export.function.php.new
#mv /usr/local/www/glpi/inc/export.function.php.new /usr/local/www/glpi/inc/export.function.php

2. Добавляем в /var/www/glpi/inc/export.function.php функцию
function utf8_decode_cyr($value){
return iconv("UTF-8","Windows-1251",$value);
}

3. Качаем набор шрифтов по cсылке

4. Складываем файлы из архива в /usr/local/www/glpi/lib/ezpdf/fonts/
Теперь pdf экспортируется как надо
image

Фуууухххх… управились!
Все, связка OCS + GLPI установлена и настроена.
Мне лишь осталось поблагодарить за помощь и поддержку камрада Pascal с форума системных администраторов UNIX и перечислить используемые источники информации =)

1. www.tux.in.ua/articles/1500
2. forums.ocsinventory-ng.org/viewtopic.php?id=4104

ps
У GLPI есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.

OCS Inventory система инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Так же позволяет удаленно настраивать программное обеспечение рабочих мест.

OCS Inventory NG расшифровывается как Open Computers and Software Inventory.

Система OCS Inventory NG использует программу агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального центрального сервера. Центральный сервер системы позволяет не только собирать информацию об инвентаризированном оборудовании, но и частично управлять инспектируемыми компьютерами.

Кроме функций сетевой инвентаризации, OCSNG имеет возможность развертывания пакетов и запуска команд, записанных в файле (например, bat/vbs) на клиентских компьютерах (кроме Vista), информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.

Системное окружение: Ubuntu Server 9.10 x86_64 GNU/Linux

# aptitude show ocsinventory-server
...
Версия: 1.02.1-1
...
# aptitude install ocsinventory-server ocsinventory-reports

После установки станут доступны ссылки.

На текущий момент в репозитории версия 1.02.1, на сайте доступна 1.3.1. При такой разнице в версиях логично сервер установить из исходных текстов.

Для начала установим зависимости ocsinventory-server. В моем случае доставил такие пакеты:

# apt-cache depends ocsinventory-server
...
  Зависит: libapache2-mod-perl2
  Зависит: libdbi-perl
  Зависит: libapache-dbi-perl
  Зависит: libdbd-mysql-perl
  Зависит: libcompress-zlib-perl
...
# aptitude install libapache-dbi-perl libapache2-mod-perl2 libapache2-reload-perl libbsd-resource-perl libdevel-symdump-perl
libnet-ip-perl libxml-namespacesupport-perl libxml-sax-expat-perl libxml-sax-perl libxml-simple-perl nmap libsoap-lite-perl

Скачиваем с сайта последнюю версию.

# wget http://launchpad.net/ocsinventory-server/stable-1.3/server-release-1.3.1/+download/OCSNG_UNIX_SERVER-1.3.1.tar.gz
# tar -xzvf OCSNG_UNIX_SERVER-1.3.1.tar.gz
# cd OCSNG_UNIX_SERVER-1.3.1/
# ./setup.sh

По ходу установки следует ответить на ряд стандартных вопросов: расположение сервера баз данных, исполняемого и конфигурационного файла веб-сервера, пользователь, от имени которого запускается веб-сервер и так далее.

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. В моем случае не был найден модуль SOAP::Lite — доустановм его.

# aptitude install libsoap-lite-perl

Установим недостающие модули через CPAN установка модулей.

# cpan -i XML::Entities
# tail -F /var/log/apache2/error.log
...
ocsinventory-server: Can't load SOAP::Transport::HTTP* - Web service will be unavailable
# Для устранения этой ошибки установим SOAP::Transport::HTTP2
# perl -MCPAN -e "install SOAP::Transport::HTTP2"

Повторяем установку. По окончании скрипт предложит инсталлировать консоль администрирования.

# ./setup.sh
+----------------------------------------------------------+
| Installing files for Administration server...            |
+----------------------------------------------------------+

Creating PHP directory /usr/share/ocsinventory-reports/ocsreports.
Copying PHP files to /usr/share/ocsinventory-reports/ocsreports.
Fixing permissions on directory /usr/share/ocsinventory-reports/ocsreports.
Creating database configuration file /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php.
Creating IPDiscover directory /var/lib/ocsinventory-reports/ipd.
Fixing permissions on directory /var/lib/ocsinventory-reports/ipd.
Creating packages directory /var/lib/ocsinventory-reports/download.
Fixing permissions on directory /var/lib/ocsinventory-reports/download.
Configuring IPDISCOVER-UTIL Perl script.
Installing IPDISCOVER-UTIL Perl script.
Fixing permissions on IPDISCOVER-UTIL Perl script.
Writing Administration server configuration to file //etc/apache2/conf.d//ocsinventory-reports.conf

+----------------------------------------------------------+
| OK, Administration server installation finished ;-)      |
|                                                          |
| Please, review //etc/apache2/conf.d//ocsinventory-reports.conf
| to ensure all is good and restart Apache daemon.         |
|                                                          |
| Then, point your browser to http://server//ocsreports
| to configure database server and create/update schema.   |
+----------------------------------------------------------+

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера — ocsinventory-server.conf и ocsinventory-reports.conf.
Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias.

Поэтому при необходимости управления доступом все изменения следует производить в упомянутых конфиконфигурационных файлах, иначе назначенные на корень права
не будут наследоваться. Кроме этого создается файл (/etc/logrotate.d/ocsinventory-server), обеспечивающий ротацию журналов раз в неделю.

Некоторые пакеты, распространяемые при помощи OCSNG, могут иметь размер больше 8 Мб, поэтому, чтобы не было проблем с их загрузкой, следует установить большее значение переменных post_max_size и upload_max_filesize в файле /etc/php5/apache2/php.ini, например в 10 Мб (по умолчанию – 8 и 2 Мб). Эти же установки надо изменить в файле ocsinventory-reports.conf. Перезапускаем Apache.

# /etc/init.d/apache2 reload

Набираем в браузере http://Your_IP/ocsreports/install.php и в появившемся окне вводим логин и пароль для доступа к MySQL с правами для создания БД. По умолчанию в процессе установки для доступа к базе ocsweb будет создана учетная запись ocs с паролем ocs.

Новое значение пароля следует прописать в двух файлах:

# nano /etc/apache2/conf.d/z-ocsinventory-server.conf
$_SESSION["PSWD_BASE"]="ocspasswd"
# nano /etc/apache2/conf.d/z-ocsinventory-server.conf
PerlSetVar OCS_DB_PWD ocspasswd

После создания БД ocsweb станет доступна ссылка http://Your_IP/ocsreports/index.php Пользователь по умолчанию admin, пароль admin.

Содержание

  1. Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI
  2. Всем доброго времени суток!
  3. Итак, начнем!
  4. OCS Inventory NG
  5. Учет оборудования с OCS Inventory NG и GLPI

Инвентаризация компьютеров в сети не вставая со стула или OCS Inventory + GLPI

Всем доброго времени суток!

Как видно из заголовка, речь пойдет о двух программах:
1. Open Computers and Software Inventory
OCS-Inventory основан на распределяемых модулях, устанавливаемых на инвентаризируемые машины, которые отсылают подробную информацию о системе, подключенных устройствах и установленном ПО в выделенную базу данных.
Поддерживаются следующие OS: Microsoft Windows, Linux, *BSD, Sun Solaris, IBM AIX, HP-UX, MacOS X

2. GPLI — Guestion Libre de Parc Informatique
Проект предназначен для работы с базой данных IT и телекоммуникационного оборудования, установленного на предприятии. Также имеется возможность ведения учета расходных материалов и организации службы технической поддержки по расписанию и по заявкам пользователей.

На просторах сети интернет достаточно много информации о настройке данной связки, но мне не встретилось ни одного подробного how to, где были бы решены все вопросы с локализацией. Поэтому я изложу компиляцию найденых решений и собственных доработок.

Итак, начнем!

1. Качаем пропатченый сервер

OCSNG в UTF8. Спасибо некоему linvinus!
Автор патча сделал для нас все что нужно, нам лишь осталось исправить небольшой недочет. Открываем архив, находим там файл /ocsinventory-server-1.3.2/ocsreports/languages/russian.txt, меняем в первой строке windows-1251 на utf8 и сохраняем в кодировке UTF8. Тарбол с исправленным russian.txt можно взять здесь

2. Распаковывыем архив в папку на сервере(у меня это /usr/local/www/ocs/).
3. Создадим директорию для logrotate
4. Изменяем владельца папки
5. Далее переходим в папку и запускаем setup.sh

CAUTION: If upgrading Communication server from OCS Inventory NG 1.0 RC2 and
previous, please remove any Apache configuration for Communication Server!

Do you wish to continue ([y]/n)?
Assuming Communication server 1.0 RC2 or previous is not installed
on this computer.

Starting OCS Inventory NG Management server setup from folder /usr/local/www/ocs
Storing log in file /usr/local/www/ocs/ocs_server_setup.log

Your MySQL client seems to be part of MySQL version 5.1.
Your computer seems to be running MySQL 4.1 or higher, good 😉

Do you wish to setup Communication server on this computer ([y]/n)?

OK, Make utility found at 😉

Checking for Apache mod_perl version 1.99_22 or higher
Found that mod_perl version 1.99_22 or higher is available.
OK, Apache is using mod_perl version 1.99_22 or higher 😉

Checking for DBI PERL module.
Found that PERL module DBI is available.
Checking for Apache::DBI PERL module.
Found that PERL module Apache::DBI is available.
Checking for DBD::mysql PERL module.
Found that PERL module DBD::mysql is available.
Checking for Compress::Zlib PERL module.
Found that PERL module Compress::Zlib is available.
Checking for XML::Simple PERL module.
Found that PERL module XML::Simple is available.
Checking for Net::IP PERL module.
Found that PERL module Net::IP is available.

Checking for SOAP::Lite PERL module.
Found that PERL module SOAP::Lite is available.
Checking for XML::Entities PERL module.
Found that PERL module XML::Entities is available.

Writing Makefile for Apache::Ocsinventory

Creating Communication server log directory /var/log/ocsinventory-server.

Fixing Communication server log directory files permissions.
Configuring logrotate for Communication server.
/usr/local/www/ocs
Removing old communication server logrotate file /etc/logrotate.d/ocsinventory-NG
Writing communication server logrotate to file /etc/logrotate.d/ocsinventory-server

+———————————————————-+
| OK, Communication server setup sucessfully finished 😉 |
| |
| Please, review /usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
| to ensure all is good. Then restart Apache daemon. |
+———————————————————-+

Do you wish to setup Administration Server (Web Administration Console)
on this computer ([y]/n)?n

Enjoy OCS Inventory NG 😉

6. Создадим файл виртуалхоста

#ee /usr/local/etc/apache22/Includes/ocs.conf

ServerAdmin webmaster@domen.ru
DocumentRoot /usr/local/www/ocs/ocsreports
ServerName ocs.domen.ru
ServerAlias www.ocs.domen.ru
ErrorLog «|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-error_log.%Y-%m-%d-%H_%M_%S 86400»
CustomLog «|/usr/local/sbin/rotatelogs /var/log/httpd/http.ocs.domen.ru-access_log.%Y-%m-%d-%H_%M_%S 86400» common

Order deny,allow
Allow from 192.168.0.0/16
Options Indexes FollowSymLinks
DirectoryIndex index.php
AllowOverride Options
php_flag file_uploads on

7. Подключимся к mysql и создадим пользователя с нужными правами

Type ‘help;’ or ‘h’ for help. Type ‘c’ to clear the current input statement.

mysql> GRANT ALL PRIVILEGES ON ocsweb.* TO ‘ocs’@’localhost’ IDENTIFIED BY ‘ocs’;

8. Мы почти у цели, открываем наш любимый фаерфокс браузер и вводим

http: // ip_address/ocsreports
В строке «Nombre del servidor» вводим localhost

жмем «Отправить запрос»

Выбираем флаг нашей Родины и вводим admin/admin

9. Проверяем работоспособность нашего OCSNG сервера

не забудьте поставить галочку как на скриншоте, для того чтобы после установки агент послал информацию серверу
Если в логе мы видим ругань подобную этой
[Tue Sep 14 19:16:34 2010] [error] [client 192.168.254.2] Can’t call method «rollback» on an undefined value at /usr/local/lib/perl5/site_perl/5.8.9/Apache/Ocsinventory/Server/System.pm line 265.n
то необходимо проверить правильность установок подключения к mysql в файле
/usr/local/www/ocs/ocsreports/dbconfig.inc.php
и в
/usr/local/etc/apache22/Includes/z-ocsinventory-server.conf
Если все в порядке, то в веб интерфейсе OCS появится новая запись, примерно как на скриншоте =)

10. Последним штрихом будет развертка агента в сети средствами Active Directory.

В вики OCS есть скрипт который нуждается лишь в небольшом исправлении в соответствии с реалиями вашей сети.
@echo off

REM *********** Declare variables *********************************************
REM *********** Adjust to your situation **************************************
SET Version=4061.1
REM имя или IP сервера где установлен OCSNG
SET Server=ocs.domen.ru
REM путь к папке на расшареном ресурсе, который доступен всем компьютерам домена
SET SetupPath=\dcshareUstPril

REM *********** Install if agent isn’t found **********************************
IF EXIST «%PROGRAMFILES%OCS Inventory agentOCSInventory.exe» GOTO update
:install
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /DEBUG
GOTO version

:update
REM *********** Update agent if %Version%.txt isn’t found *********************
IF EXIST «%PROGRAMFILES%OCS Inventory agent%Version%.txt» GOTO end
:upgrade
%SetupPath%OcsAgentSetup.exe /S /SERVER:%Server% /NP /UPGRADE /DEBUG

:version
cd /D «%PROGRAMFILES%OCS Inventory agent»
echo pwouet > %Version%.txt

:end
REM *********** Cleanup variables *********************************************
SET Version=
SET Server=
SET SetupPath=

Сохраняем как install_ocs_agent.bat и настраиваем GPO соответствующим образом.
На этом с OCS закончим. Стоит лишь отметить что данные от агентов приходят с рандомной задержкой, поэтому после окончания настройки пройдет достаточно много времени перед тем как вы получите данные от всех компьютеров.

Установка GLPI.
Версия GLPI: glpi-0.72.4_1

1. Установим GLPI из портов.

*Почему-то закрывающая «/Directory» не отобразилась, поэтому если копипастите будьте внимательны =)

2.Создадим пользователя в mysql с необходимыми правами

mysql> grant all privileges on glpi.* to ‘glpi’@’localhost’ identified by ‘password_ololo’;

3. Идем на http:// domen.ru/glpi и следуем по шагам мастера установки
3.Немного поправим исходники GLPI

Правим файл
/usr/local/www/glpi/inc/ocsng.class.php
Находим класс
class DBocs extends DBmysql
и меняем строку
$this->dbenc=»latin1″;
на
$this->dbenc=»utf8″;

4. Устанавливаем плагин для импорта из OCS

Плагин нужно распаковать в папку
/usr/local/www/glpi/plugins/

После чего перейти в веб интерфейсе GLPI
# Основная панель >
# Установки >
# Дополнения
Жмем «Установить», затем «Включить»

Далее отправляемся в
# Основная панель >
# Установки >
# Общие
# Ограничения
«Активировать режим OCSNG » — Да

теперь
# Основная панель >
# Установки >
# Режим OCSNG
Устанавливаем опции

# Основная панель >
# Инструментарий >
# OCSNG
# Импортирование новых компьютеров
Делаем импорт и вуаля =)

И в заключение экспорт в pdf на русском

2. Добавляем в /var/www/glpi/inc/export.function.php функцию
function utf8_decode_cyr($value) <
return iconv(«UTF-8″,»Windows-1251»,$value);
>

3. Качаем набор шрифтов по cсылке

4. Складываем файлы из архива в /usr/local/www/glpi/lib/ezpdf/fonts/
Теперь pdf экспортируется как надо

Фуууухххх… управились!
Все, связка OCS + GLPI установлена и настроена.
Мне лишь осталось поблагодарить за помощь и поддержку камрада Pascal с форума системных администраторов UNIX и перечислить используемые источники информации =)

ps
У GLPI есть еще масса интересных функций, но в рамки данной заметки они ни как не попадают.
Если у кого то будут траблы с установкой — жду в каментах, чем смогу, как говорится.

Источник

pingwin

Внедрение и поддержка свободного программного обеспечения

OCS Inventory NG

OCS Inventory NG — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс. Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.

Французская компания OCS Inventory существует на рынке открытого программного обеспечения уже 10 лет. В 2011 году три наиболее активных проекта в составе портала для разработчиков открытого программного обеспечени SourceForge использовали платформу OCS. В этом же году объем скачиваний программы достиг 70 000 в месяц.

Платформа имеет приверженцев по всему миру, обеспечивая функционирование более 100 000 проектов, среди которых:

Компания

Страна

Кол-во инвентаризированных компьютеров

Desarrollos Empresariales La Rioja SL

Pacific Golf Management K.K.

M. N. Dastur & Company (P) Ltd.

В своем последнем докладе Cigref — ассоциация крупнейших компаний Франции — заявила, что платформа OCS Inventory является наиболее часто используемым компаниями – членами ассоциации «открытым» ПО. В 2011 OCS Inventory NG заняла 12-е место в ТОП-50 самых известных и крупных французских компаний.

Области применения OCS Inventory NG:

Архитектура системы

Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.

Центральный сервер управления содержит следующие компоненты:

Архитектура системы

%D0%9A%D0%B0%D1%80%D1%82%D0%B8%D0%BD%D0%BA%D1%83
Базовый функционал платформы

OCS Inventory NG обеспечивает сбор следующей информации:

BIOS

Серийный номер системы, производитель системы, модель системы, производитель BIOS, версия BIOS, дата BIOS

Процессор

Тип процессора (Pentium with MXX, Penitum II, Penitum III, Pentium IV, Celeron, Athlon, Duron), скорость процессора, количество процессоров

Память

Заголовок и описание, емкость в МБ, назначение (системная память, флэш-память), тип памяти (SDRAM, DDR), скорость в МГц, номер слота

Физическая память

Размер файла подкачки или размер свопа

Устройство ввода

Тип (клавиатура или манипулятор), производитель, название, описание, используемый интерфейс (PS / 2, USB)

Системные порты

Тип (последовательный или параллельный), имя, подпись и описание

Системные слоты

Название, описание, назначение (AGP1, PCI1, PCI2, ISA1)

Системные контроллеры

Производитель, название, тип (Floppy, IDE, SCSI, USB, PCMCIA, IEEE1394, ИК-порт)

Устройства хранения данных

Производитель, модель, описание, тип (дискета, жесткий диск, CD-Rom, съемный). Объем в Мб

Логические диски / разделы

Логические (буквенные) диски, тип (съемный жесткий диск, CD-ROM, сети, RAM), файловая система (FAT, FAT32, NTFS). Общий объем в МБ, объем свободного места в МБ

Звуковые устройства

Производитель, название, описание

Видеоадаптеры

Имя, чипсет, память в МБ, разрешение экрана

Мониторы

Производитель, заголовок, описание, тип, серийный номер

Телефонные модемы

Название, модель, описание, тип (внутренние, внешние)

Сетевые адаптеры

Описание, тип (Dialup, Ethernet, Token Ring, ATM), скорость (в Мбит / с или Гбит/с), MAC-адрес, IP-адрес, маска IP-сети, IP-шлюз, DHCP-сервера

Принтеры

Имя, драйверы, порты подключения

Операционная система

Тип ОС (Linux, Windows 95/98/Me/NT Workstation / NT Server/2000 Professional/2000 сервер), версия ОС (4.0.1381 для NT4, 4.10.2222 на 98 SE). Зарегистрированный владелец, зарегистрированный ID продукта

Программное обеспечение

Извлечение из реестра, аналогично тому, как представлено на панели управления «Add / Remove Software». Название, издатель, версия

Значение ветки реестра

Ключ из ветки реестра Windows

Источник

partbulletУчет оборудования с OCS Inventory NG и GLPI

Архив номеров / 2009 / Выпуск №5 (78) / Учет оборудования с OCS Inventory NG и GLPI

$td3″.htmlentities(textDecode($item->NAME)).»

$td3″.textDecode($item->VERSION).»

echo «$td3″.textDecode($item->PUBLISHER).»

$td3″.textDecode($item->NAME).»

$td3″.textDecode($item->VERSION).»

$td3″.(htmlentities(textDecode($item->COMMENTS))? textDecode($item->COMMENTS):»N/A»).»

«;

После этого список программ, установленных на конкретном компьютере, будет выводиться корректно. Страница в PDF, создаваемая при помощи кнопки «Напечатать эту страницу», которая расположена в самом низу, также выглядела корректно. Хотя в общем списке ПО по-прежнему будет нечитаемый текст.

image002

После всех правок информация об установленном ПО на кириллице выводится корректно

Агент для Windows написан на C++, его можно установить вручную, при помощи logon скрипта или правил GPO. Агент для Linux написан на Perl и С. Для его установки потребуется наличие некоторых модулей Perl (XML и Zlib) и dmidecode [4] (обеспечивает сбор данных из BIOS об оборудовании в соответствии со стандартами SMBIOS/DMI). В Linux агент устанавливается вручную. Сначала рассмотрим этот вариант.

Если клиент устанавливается на том же компьютере, что и сервер, практически все необходимые пакеты для удовлетворения зависимостей уже будут. Иначе устанавливаем:

$ sudo apt-get install libcompress-zlib-perl libnet-ip-perl libnet-ssleay-perl libwww-perl libxml-simple-perl po-debconf ucf dmidecode pciutils

Далее скачиваем и ставим агента:

$ tar xzvf OCSNG_UNIX_AGENT-1.02.tar.gz

После ввода последней команды поступит запрос на настройку агента.

No foto man Сергей Яремчук

Учет оборудования с OCS Inventory NG и GLPI

Сегодня в любой организации много компьютерной техники и прочего оборудования, учет которого, а также прочих связанных затрат часто входит в обязанности администратора. Применение специализированных систем может значительно упростить эту задачу. В статье рассмотрим решения OCS Inventory NG и GLPI, которые являются хорошей альтернативой проприетарным продуктам.

Возможности OCS Inventory NG и GLPI

Система OCS Inventory NG (OCSNG, Open Computers and Software Inventory New Generation) [1] предназначена для инвентаризации компьютеров в локальной сети, комплектующих и программного обеспечения. Также с ее помощью можно удаленно разворачивать программы на рабочих местах и получать информацию о сетевой конфигурации.

GLPI (Gestion Libre de Parc Informatique) [2] кроме задач по учету компьютеров и входящих в их состав комплектующих, позволяет инвентаризировать прочее оборудование, включая расходные материалы (например, картриджи), а также организовать службу технической поддержки, автоматизируя обработку обращений пользователей. Теперь пользователь, вместо того чтобы бежать или звонить админу, заполняет, зайдя по адресу ресурса, заявку. Обращения обрабатываются с учетом их важности или в порядке очередности. Администратор выигрывает вдвойне – все обращения документируются, и можно спокойно отчитаться перед начальством о проделанной работе и затраченном времени, пользователи по этой же причине перестанут обращаться по мелочам. Не говоря уже о том, что звонки обычно отвлекают от выполнения текущей работы.

Также с его помощью можно сформировать базу знаний, которая будет состоять из заметок, статей и ЧаВО, вести учет поставщиков, договоров. Доступно большое количество отчетов (по договорам, финансовая, за год) и статистик (по заявкам, оборудованию, элементам).

Поддерживается синхронизация календаря по протоколам Ical, Webcal. Функциональность GLPI можно расширить при помощи большого набора плагинов от сторонних разработчиков!

Обе системы русифицированы (с некоторыми оговорками) и распространяются по лицензии GNU GPL.

В GLPI, как и в Kwok Information Server [2], изначально все данные вводятся вручную и сохраняются в базе данных MySQL. Затем администратор при помощи веб-формы может отобрать любую интересующую его информацию. Начиная с версии 0.65 GLPI поддерживает синхронизацию данных с базами OCSNG, причем для этого не требуется никаких дополнительных модулей. Хотя если в сети уже есть сервер Nagios или Cacti, то данные о компьютерах и прочем оборудовании можно импортировать и оттуда.

Основным плюсом OCS Inventory NG является то, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления (management server) в виде XML-потока, сжатого при помощи Zlib, для передачи используется стандартный протокол HTTP/HTTPS.

Сервер OCSNG состоит из 4 компонентов, которые могут быть установлены на одном или нескольких компьютерах:

Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением Windows 2000 Professional/Server, XP Professional Edition и 2003, а также Linux, FreeBSD, OpenBSD, NetBSD, Solaris, IBM AIX и MacOS X.

Агент доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux (2.4/2.6, x86, x86_64/AMD64, Sparc64, ARM, PowerPC), MacOS X (10.3-10,5), FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Следует отметить, что одним из недостатков как данного проекта, так и проекта GLPI является малое количество документации. Хотя, понимая суть процесса, разобраться со всеми нюансами довольно просто.

Установка OCS Inventory в Ubuntu

В середине апреля, после более чем года разработки, вышла новая версия 1.02 OCSNG, о которой и пойдет речь далее. Пакет с OCSNG имеется в репозиториях многих дистрибутивов. Для примера в качестве сервера и клиента выберем Ubuntu 8.04 LTS.

Проверяем, что есть в репозитории Ubuntu.

$ sudo apt-cache search ocsinventory

Хотя это не самая актуальная версия на данный момент:

Поэтому будем устанавливать, используя исходные тексты. В зависимостях пакета ocsinventory-server, полученных при помощи команды:

$ sudo apt-cache depends ocsinventory-server

указаны Apache2 и некоторые модули Perl, утилита для изменения файлов настроек ucf и dbconfig-common. Пакет MySQL указан в качестве необязательных зависимостей, поэтому его устанавливаем отдельно:

$ sudo apt-get install mysql-server

$ sudo apt-get build-dep ocsinventory-server

в данном случае бесполезна, поэтому устанавливаем все, что необходимо, вручную:

$ sudo apt-get install libapache2-mod-perl2 libdbi-perl libapache-dbi-perl libdbd-mysql-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libcompress-zlib-perl php5-gd

Скачиваем с сайта проекта OCSNG архив OCSNG_UNIX_SERVER-1.02.tar.gz и устанавливаем:

$ tar xzfv OCSNG_UNIX_SERVER-1.02.tar.gz

По ходу установки следует ответить на ряд стандартных вопросов: расположение сервера баз данных, исполняемого и конфигурационного файла веб-сервера, пользователь, от имени которого запускается веб-сервер и так далее.

В большинстве случаев скрипт сам находит все необходимое и достаточно просто подтвердить параметр. Единственное, с чем он не разобрался, это с пользователем и группой, от имени которых запускается Apache. Поэтому вместо предложенного [$] указываем www-data.

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. Так в зависимостях Ubuntu не указан модуль XML::Entities.

Сhecking for XML::Entities PERL module.

В репозитории пакета, обеспечивающего функции XML::Entities, нет, поэтому его следует установить самостоятельно из CPAN:

И повторяем установку. По окончании скрипт предложит инсталлировать консоль администрирования.

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера – ocsinventory-server.conf и ocsinventory-reports.conf.

Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias:

# Alias used to put Administration Server static page (typically PHP) outside

Alias /ocsreports /usr/share/ocsinventory-reports/ocsreports

# Alias to put Deployement package files outside Apache document root directory

Alias /download /var/lib/ocsinventory-reports/download

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

Кроме этого создается файл, обеспечивающий ротацию журналов раз в неделю.

# Rotate OCS Inventory NG Communication server logs daily

# Save 7 days old logs in compressed mode

По окончании следует перезапустить веб-сервер:

$ sudo /etc/init.d/apache2 force-reload

Некоторые пакеты, распространяемые при помощи OCSNG, могут иметь размер больше 8 Мб, поэтому, чтобы не было проблем с их загрузкой, следует установить большее значение переменных post_max_size и upload_max_filesize в файле /etc/php5/apache2/php.ini, например в 10 Мб (по умолчанию – 8 и 2 Мб):

php_value post_max_size 10m

php_value upload_max_filesize 10m

Эти же установки надо изменить в файле ocsinventory-reports.conf.

Набираем в браузере http://localhost/ocsreports/install.php и в появившемся окне вводим логин и пароль для доступа к MySQL. По умолчанию в процессе установки для доступа к базе ocsweb будет создана учетная запись ocs с паролем ocs. Если только доступ к базе не ограничен локальной системой, то в целях безопасности пароль следует изменить:

mysql> UPDATE mysql.user SET Password = PASSWORD(‘ocspasswd’) WHERE User = ‘ocs’;

mysql> FLUSH PRIVILEGES;

Новое значение пароля следует прописать в файле /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php:

И в ocsinventory-server.conf:

PerlSetVar OCS_DB_PWD ocspasswd

Переходим на страницу http://localhost/ocsreports, для регистрации используем логин admin с паролем admin. Щелкнув здесь же по флагу, можно активировать русский язык интерфейса, но сразу после установки это привело к появлению нечитаемых символов.

image001

Файл локализации OCSNG требует замены

Единственным материалом по локализации интерфейса OCS Inventory является статья Евгения Бражко [5], но она относится к версии 1.02RC1, вышедшей в марте 2008 года, и многие вопросы, которые в ней описаны, в текущей версии уже решены. Так, анализ HTML-кода страницы показал, что она выдается в нужной кодировке:

Интерфейс локализуется при помощи языкового файла russian.txt, расположенного в /usr/share/ocsinventory-reports/ocsreports/languages. В меню Configurations есть отдельный пункт Language file, позволяющий его редактировать. Но открыв файл russian.txt в текстовом редакторе, поддерживающем СР1251, обнаруживаем только набор нечитаемых символов.

Вывод команды file:

Рубрика: Администрирование / Оборудование

russian.txt: UTF-8 Unicode English text

задает еще больше вопросов. При этом:

english.txt: ASCII English text

А первая строка файла явно указывает на нужную кодировку.

Из этого делаем вывод – что-то не то с самим файлом, поэтому берем аналогичный с RC1 или другого источника (например, на сайте журнала www.samag.ru в разделе «Исходный код») и подменяем его, не забыв установить нужные права доступа.

$ sudo chown root:www-data russian.txt

После этого все надписи выводятся на русском.

Чтобы корректно выводились названия программ, установленных на Windows-системах, следует в файле /usr/share/ocsinventory-reports/ocsreports/preferences.php установить в «1» значение UTF8_DEGREE:

// 0 For non utf8 database, 1 for utf8

Далее в файле machine.php, который находится в этом же каталоге, правим функцию print_softwares. После установки она будет иметь такой вид:

echo «$td3″.htmlentities(textDecode($item->PUBLISHER)).»

Do you want to configure the agent

Please enter ‘y’ or ‘n’?> [y]

Отмечаем «y» и при помощи цифровых клавиш отвечаем на вопросы, где должен располагаться конфигурационный файл:

Where do you want to write the configuration file?

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

Do you want to send an inventory of this machine?

Please enter ‘y’ or ‘n’?> [y]

[info] Accountinfo file doesn’t exist. I create an empty one.

В итоге в /var/lib/ocsinventory-agent будет создан подкаталог с файлами, содержащими текущую конфигурацию компьютера. Например, в ocsinv.adm содержатся тег и название системы, под которым она будет видна в консоли управления.

Практически сразу после установки агента сведения о новой системе появятся в консоли управления во вкладке «Все компьютеры».

При возникновении проблем можно запустить агента в режиме отладки:

По умолчанию во вкладке «Все компьютеры» выводятся 7 характеристик клиентских машин, но при помощи раскрывающегося списка Add column можно добавить еще 23 поля. Хотя в некоторых случаях замечены ошибки в определении параметров. Так, на системе с такими характеристиками:

[ 97.725563] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ processors (2 cpu cores) (version 2.20.00)

[ 0.000000] Detected 2010.408 MHz processor.

В консоли OCS Inventory было выведено – 1000 Мгц, но при необходимости данные можно скорректировать вручную. По разным причинам в базу компьютер может быть занесен несколько раз, для удаления дубликатов существует одноименная вкладка, в которой одинаковые системы можно отобрать по нескольким характеристикам (имя, МАС-адрес, серийный номер).

image003

После установки агентов данные автоматически появляются в консоли управления OCSNG

Текущая версия агента для Windows 4.0.5.4, архив OCSNG_WINDOWS_AGENT_1.02.zip с установочными файлами можно скачать с сайта проекта. Судя по всему, в нем уже исправлена ошибка, которая приводила к тому, что русские буквы, начиная с ‘х'(0xF4) заменялись английским иксом. Во всяком случае, на тестовых системах все работало правильно. Как вариант можно использовать специальную сборку OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA.zip (версия агента 4.0.4.9) [5].

Самым простым вариантом установки является запуск исполняемого файла OcsAgentSetup.exe, в этом случае будет произведена стандартная установка, по окончании которой агент будет прописан в качестве сервиса. На последнем этапе указываем имя или IP-адрес OCSNG сервера и устанавливаем флажок Immediatly launch inventory, чтобы сразу же отправить отчет.

Все настройки будут сохранены в файле service.ini каталога, в который установлен агент.

В Vista следует открыть его и добавить параметр /DEBUG в строку запуска:

Miscellaneous=/SERVER:192.168.0.10 /PNUM:80 /DEBUG

При изменении оборудования или ПО агента вызвать принудительно, набрав в командной строке:

> «C:Program FilesOCS Inventory AgentOCSInventory.exe» /SERVER:ocsng_server /PNUM:80 /NOW

Также агента (файл ocsagent.exe, являющийся zip-архивом) можно импортировать в базу OCSNG, выбрав во вкладке «Агент» и указав место расположения файла. В этом случае он будет доступен с любого компьютера сети.

Кроме функций сетевой инвентаризации, OCSNG имеет возможность развертывания пакетов и запуска команд, записанных в файле (например, bat/vbs) на клиентских компьютерах (кроме Vista), информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.

Здесь три возможных значения:

Параметры в User notifications позволяют вывести соответствующее предупреждение пользователю, разрешить ему отмену выполнения задачи. Созданный пакет загружается в каталог /var/lib/ocsinventory-reports/download/timestamp.

При этом timestamp получается уникальным.

Файл info содержит настройки пакета, а 1241722723-1 является собственно программой.

Package activated, it can now be deployed.

Теперь выбираем компьютер, на котором хотим установить пакет, переходим в меню Customization, в самом низу выбираем ссылку add package, указываем на пакет и нажимаем в поле Affect. Подтверждаем свой выбор. В Customization появится информация о состоянии задачи, а в таблице в Activate будет выводиться статистика.

По умолчанию агент подключается к серверу раз в сутки, тогда и будет произведена установка. Можно ускорить этот процесс, вызвав подключение принудительно, как это показано выше. После подключения агента к серверу состояние пакета должно измениться с WAITING_NOTIFICATIONS на NOTIFIED, а затем Success. Пакет будет сохранен в каталоге C:Program FilesOCS Inventory AgentdownloadTIMESTAMP. А все связанные сообщения можно найти в файле download.log.

Кроме выдачи информации о «своем» компьютере, агенты в разных подсетях сканируют сеть в поисках MAC-адресов, принадлежащих других системам. Такая функция называется IP discovery и позволяет находить другие устройства, на которые нельзя установить агент (например, свитчи, принтеры и так далее).

Установка GLPI достаточно проста. В репозиториях дистрибутивов нужный пакет есть, но его версия обычно сильно отстает.

$ sudo apt-cache search glpi

Актуальной на момент написания статьи является версия 0.71.5, вышедшая в январе 2009 года. Кроме этого, на странице загрузки доступен предрелиз 0.72-RC2 и срез CVS-архива.

Для установки просто распаковываем скачанный архив в корневой каталог веб-сервера:

Устанавливаем для некоторых каталогов владельца и группу-владельца:

$ sudo chown www-data:www-data config files files/* inc

Далее набираем в браузере http://localhost/glpi выбираем язык (в списке есть русский), принимаем условия GPL и следуем указаниям мастера установки. Самый главный этап – «Проверка окружения на совместимость с GLPI», где следует внимательно прочитать и выполнить все рекомендации.

image004

При установке GLPI следует выполнить все рекомендации программы

Например, по указанию мастера параметр memory_limit в php.ini следует установить в значение, большее чем 32 Мб:

Выполняем все требования, проверяем повторно и, если все нормально, нажимаем Continue. Теперь собственно установка – вводим данные для доступа к MySQL, название базы данных, и все.

Чтобы GLPI автоматически проверял почту, отправлял уведомления, следует создать задание для пользователя, от имени которого работает веб-сервер (нужен пакет php5-cli):

*/5 * * * * /usr/bin/php5 /var/www/glpi/front/cron.php &>/dev/null

По умолчанию в GLPI создаются четыре учетные записи с разными правами и возможностями (через дробь указан пароль):

GLPI поддерживает импорт учетных данных из AD или другой LDAP.

image005

Окно активации режима OCSNG

Если OCSNG и MySQL установлены на локальной машине, то данные для подключения к OCSNG будут найдены автоматически. Иначе необходимо будет заполнить информацию о сервере OCSNG вручную.

По умолчанию синхронизируется только часть параметров, чтобы в базу данных GLPI были перенесены и компоненты компьютеров, следует разрешить их синхронизацию, установив флажок напротив нужного в положение «Глобальный импорт».

Кроме этого, во вкладке «Инструменты» появится пункт OCSNG, при помощи имеющихся здесь ссылок можно производить синхронизацию и импортирование компьютеров между OCSNG и GLPI.

Полученные данные появляются во вкладке «Оборудование». Здесь несколько подпунктов, переход в некоторые из них позволяет получить список некоторых компонентов, входящих в компьютер («Мониторы», «Принтеры»), отдельного оборудования («Картриджи», «Телефоны»), а также ПО. Импортированные компьютеры доступны в одноименном подпункте.

Выбрав компьютер или устройство, мы получаем доступ к 12 вкладкам, в которых можно просмотреть и скорректировать данные об оборудовании, сопоставить ответственного, просмотреть заявки, добавить заметки, сделать отметку о выдаче во временное использование, просмотреть историю и так далее.

К сожалению, на данный момент список импортированных с OCSNG компонентов компьютера, написанный на русском языке, выводится нечитаемым текстом.

image006

Информация об оборудовании, импортированная с OCSNG в GLPI, отображается некорректно

Пользователей GLPI можно объединить в группы, кроме этого существует более глобальное понятие – «Организация». Сразу после установки создается «Основная организация», в которую и будут включены все компоненты. Предусмотрено создание других организаций с установлением подчиненности между ними (структуры). Но работа с организациями реализована неудобно, так перенос техники в другую организацию усложнен и неудобен. Предусмотрен экспорт данных в PDF, CVS и SLK (Symbolic Link).

По умолчанию при экспорте в PDF вместо русских букв выводятся знаки вопросов, это происходит по двум причинам: стандартная функция экспортирует данные в кодировке ISO-8859-1, которую и поддерживает используемый по умолчанию шрифт. Подсказка была найдена на форуме OPENNET [6]. Заменяем в скрипте /var/www/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr:

И добавляем в export.function.php описание самой функции utf8_decode_cyr:

По умолчанию для экспорта используется шрифт Helvetica, его бы я и рекомендовал оставить. Если заменить шрифт другим, его имя придется править не только в двух местах файла export.function.php:

Но и в двух файлах, находящихся в lib/ezpdf.

$ sudo apt-get install ttf2pt1

Теперь копируем файлы вместо старых, не забыв подправить права:

image007

Файл PDF, сгенерированный в OCSNG, с информацией о системе

Интерфейсы, как OCSNG, так и GLPI, достаточно просты для освоения, нужно потратить полчаса, и вы будете хорошо ориентироваться. К сожалению, до конца вопрос локализации так и не решен. Так, для Windows в OCSNG неправильно отображаются кириллические наименования установленных программ и компонентов оборудования. Обсуждение всех вопросов по локализации можно найти на форумах проекта OCSNG и OPENNET [6], некоторым они помогают, у некоторых не получается все решить.

Источник

OCS Inventory NG — открытое программное обеспечение, предназначенное для инвентаризации компьютеров в сети, установленного на них оборудования и программного обеспечения. Позволяет удаленно настраивать ПО рабочих мест. Работает под всеми операционными системами. Платформа OCS может быть использована для визуализации инвентаризации через веб-интерфейс.  Модуль автоматического сканирования позволяет построить карту сетевых компьютеров и устройств. По результатам автоматического обследования генерируется база данных, содержащая актуальные упорядоченные сведения об обследованных устройствах и их настройках. Существует возможность построения различных отчетов. Распространяется система по лицензии GPL v2.

Французская компания OCS Inventory существует на рынке открытого программного обеспечения уже 10 лет. В 2011 году три наиболее активных проекта в составе портала для разработчиков открытого программного обеспечени SourceForge использовали платформу OCS. В этом же году объем скачиваний программы достиг 70 000 в месяц.

Платформа имеет приверженцев по всему миру, обеспечивая функционирование более 100 000 проектов, среди которых:

Компания

Страна

Кол-во инвентаризированных компьютеров

Banco do Brasil

Бразилия

172000

CNAMTS

Франция

120000

Internet Solutions

ЮАР

12000

Desarrollos Empresariales La Rioja SL

Испания

8384

MULTI

Польша

5000

Pacific Golf Management K.K.

Япония

3122

Stericycle

США

1900

Arpa Piemonte

Италия

1770

UPML

Гонконг

1400

M. N. Dastur & Company (P) Ltd.

Индия

1200

Landratsamt Vogtlandkreis

Германия

1100

В своем последнем докладе Cigref — ассоциация крупнейших компаний Франции — заявила, что платформа OCS Inventory является наиболее часто используемым компаниями – членами ассоциации «открытым» ПО. В 2011 OCS Inventory NG заняла 12-е место в ТОП-50 самых известных и крупных французских компаний.

Области применения OCS Inventory NG:

  • Инвентаризация оборудования;
  • Инвентаризация программного обеспечения;
  • Проведение анализа активов;
  • Обеспечение централизованного распространения ПО;
  • Управление обновлениями ПО;
  • Управление конфигурацией рабочих мест.

Архитектура системы

Система OCS Inventory NG использует программу-агента, которая выполняется на инспектируемом оборудовании и передает информацию на центральный сервер. Управление программами-агентами выполняется так же с центрального сервера. Центральный сервер системы позволяет не только собирать информацию об оборудовании, но и частично управлять инспектируемыми компьютерами.Связь между сервером и проверяемым оборудованием происходит через HTTP/HTTPS протоколы. Вся передаваемая информация сжимается для уменьшения сетевого трафика.

Центральный сервер управления содержит следующие компоненты:

  • Сервер базы данных для хранения информации о проверяемом оборудовании;
  • Коммуникационный сервер, осуществляющий связь с сервером базы данных и программами-агентами на проверяемом оборудовании;
  • Сервер развертывания, для установки программ-агентов;
  • Консоль управления, которая позволяет производить просмотр информации о проверяемом оборудовании через Интернет браузер. 

Архитектура системы 

 
Базовый функционал платформы


OCS Inventory NG обеспечивает сбор следующей информации:

BIOS

Серийный номер системы, производитель системы, модель системы, производитель BIOS, версия BIOS, дата BIOS

Процессор

Тип процессора (Pentium with MXX, Penitum II, Penitum III, Pentium IV, Celeron, Athlon, Duron), скорость процессора, количество процессоров

Память

Заголовок и описание, емкость в МБ, назначение (системная память, флэш-память), тип памяти (SDRAM, DDR), скорость в МГц, номер слота

Физическая память

Объем в МБ

Размер файла подкачки или размер свопа

Объем в МБ

Устройство ввода

Тип (клавиатура или манипулятор), производитель, название, описание, используемый интерфейс (PS / 2, USB)

Системные порты

Тип (последовательный или параллельный), имя, подпись и описание

Системные слоты

Название, описание, назначение (AGP1, PCI1, PCI2, ISA1)

Системные контроллеры

Производитель, название, тип (Floppy, IDE, SCSI, USB, PCMCIA, IEEE1394, ИК-порт)

Устройства хранения данных

Производитель, модель, описание, тип (дискета, жесткий диск, CD-Rom, съемный). Объем в Мб

Логические диски / разделы

Логические (буквенные) диски, тип (съемный жесткий диск, CD-ROM, сети, RAM), файловая система (FAT, FAT32, NTFS). Общий объем в МБ, объем свободного места в МБ

Звуковые устройства

Производитель, название, описание

Видеоадаптеры

Имя, чипсет, память в МБ, разрешение экрана

Мониторы

Производитель, заголовок, описание, тип, серийный номер

Телефонные модемы

Название, модель, описание, тип (внутренние, внешние)

Сетевые адаптеры

Описание, тип (Dialup, Ethernet, Token Ring, ATM), скорость (в Мбит / с или Гбит/с), MAC-адрес, IP-адрес, маска IP-сети, IP-шлюз, DHCP-сервера

Принтеры

Имя, драйверы, порты подключения

Операционная система

Тип ОС (Linux, Windows 95/98/Me/NT Workstation / NT Server/2000 Professional/2000 сервер), версия ОС (4.0.1381 для NT4, 4.10.2222 на 98 SE). Зарегистрированный владелец, зарегистрированный ID продукта

Программное обеспечение

Извлечение из реестра, аналогично тому, как представлено на панели управления «Add / Remove Software». Название, издатель, версия

Значение ветки реестра

Ключ из ветки реестра Windows

Преимущества системы:

  1. Наиболее востребованная и хорошо отлаженная программа инвентаризации компонентов ИТ-сети;
  2. Интерфейс OCS настолько прост для освоения, что нужно потратить всего полчаса, чтобы хорошо ориентироваться в программе;
  3. С технической точки зрения плюсом является тот факт, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления в виде XML-потока. Для передачи используется стандартный протокол HTTP/HTTPS;
  4. Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением практически всех известных ОС. Агент также доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux, MacOS X, FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Примеры интерфейсов 

Рисунок 1 


Рисунок 2


Рисунок 3

версия для печати

Рубрика:

Администрирование / 
Оборудование

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Сергей Яремчук

Учет оборудования с OCS Inventory NG и GLPI

Сегодня в любой организации много компьютерной техники и прочего оборудования, учет которого, а также прочих связанных затрат часто входит в обязанности администратора. Применение специализированных систем может значительно упростить эту задачу. В статье рассмотрим решения OCS Inventory NG и GLPI, которые являются хорошей альтернативой проприетарным продуктам.

Возможности OCS Inventory NG и GLPI

Система OCS Inventory NG (OCSNG, Open Computers and Software Inventory New Generation) [1] предназначена для инвентаризации компьютеров в локальной сети, комплектующих и программного обеспечения. Также с ее помощью можно удаленно разворачивать программы на рабочих местах и получать информацию о сетевой конфигурации.

GLPI (Gestion Libre de Parc Informatique) [2] кроме задач по учету компьютеров и входящих в их состав комплектующих, позволяет инвентаризировать прочее оборудование, включая расходные материалы (например, картриджи), а также организовать службу технической поддержки, автоматизируя обработку обращений пользователей. Теперь пользователь, вместо того чтобы бежать или звонить админу, заполняет, зайдя по адресу ресурса, заявку. Обращения обрабатываются с учетом их важности или в порядке очередности. Администратор выигрывает вдвойне – все обращения документируются, и можно спокойно отчитаться перед начальством о проделанной работе и затраченном времени, пользователи по этой же причине перестанут обращаться по мелочам. Не говоря уже о том, что звонки обычно отвлекают от выполнения текущей работы.

Также с его помощью можно сформировать базу знаний, которая будет состоять из заметок, статей и ЧаВО, вести учет поставщиков, договоров. Доступно большое количество отчетов (по договорам, финансовая, за год) и статистик (по заявкам, оборудованию, элементам).

Поддерживается синхронизация календаря по протоколам Ical, Webcal. Функциональность GLPI можно расширить при помощи большого набора плагинов от сторонних разработчиков!

Обе системы русифицированы (с некоторыми оговорками) и распространяются по лицензии GNU GPL.

В GLPI, как и в Kwok Information Server [2], изначально все данные вводятся вручную и сохраняются в базе данных MySQL. Затем администратор при помощи веб-формы может отобрать любую интересующую его информацию. Начиная с версии 0.65 GLPI поддерживает синхронизацию данных с базами OCSNG, причем для этого не требуется никаких дополнительных модулей. Хотя если в сети уже есть сервер Nagios или Cacti, то данные о компьютерах и прочем оборудовании можно импортировать и оттуда.

Основным плюсом OCS Inventory NG является то, что для сбора информации об установленном оборудовании с клиентских компьютеров и серверов используется программа-агент. Все собранные данные агенты отсылают на сервер управления (management server) в виде XML-потока, сжатого при помощи Zlib, для передачи используется стандартный протокол HTTP/HTTPS.

Сервер OCSNG состоит из 4 компонентов, которые могут быть установлены на одном или нескольких компьютерах:

  •   база данных – используется для хранения информации, поддерживается MySQL от 4.1;
  •  служба связи – обеспечивает связь по протоколу HTTP между сервером базы данных и программами-агентами, требуется Apache Web Server 1.3.X/2.X с интегрированным Perl (в Debian/Ubuntu пакет libapache-dbi-perl);
  •  служба развертывания – предназначена для хранения установочных файлов программ-агентов, подходит любой веб-сервер с поддержкой SSL;
  •  консоль управления – просмотр собранных данных в браузере, требуется веб-сервер с поддержкой PHP (с активированными ZIP и GD).

Серверная часть OCSNG может быть установлена на компьютер, работающий под управлением Windows 2000 Professional/Server, XP Professional Edition и 2003, а также Linux, FreeBSD, OpenBSD, NetBSD, Solaris, IBM AIX и MacOS X.

Агент доступен для клиентских и серверных версий Windows от 95 до Server 2008 R2, а также перечисленных Linux (2.4/2.6, x86, x86_64/AMD64, Sparc64, ARM, PowerPC), MacOS X (10.3-10,5), FreeBSD/OpenBSD/NetBSD (x86/Sparc), Solaris 8, 9, 10 (x86/Sparc), IBM AIX (5.1-5.3) и HP-UX.

Следует отметить, что одним из недостатков как данного проекта, так и проекта GLPI является малое количество документации. Хотя, понимая суть процесса, разобраться со всеми нюансами довольно просто.

Установка OCS Inventory в Ubuntu

В середине апреля, после более чем года разработки, вышла новая версия 1.02 OCSNG, о которой и пойдет речь далее. Пакет с OCSNG имеется в репозиториях многих дистрибутивов. Для примера в качестве сервера и клиента выберем Ubuntu 8.04 LTS.

Проверяем, что есть в репозитории Ubuntu.

$ sudo apt-cache search ocsinventory

ocsinventory-reports — Hardware and software inventory tool (Administration Console)

ocsinventory-server — Hardware and software inventory tool (Communication Server)

ocsinventory-agent — Hardware and software inventory tool (client)

Хотя это не самая актуальная версия на данный момент:

$ sudo apt-cache show ocsinventory-server | grep -i version

$ sudo apt-cache show ocsinventory-agent | grep -i version

Поэтому будем устанавливать, используя исходные тексты. В зависимостях пакета ocsinventory-server, полученных при помощи команды:

$ sudo apt-cache depends ocsinventory-server

указаны Apache2 и некоторые модули Perl, утилита для изменения файлов настроек ucf и dbconfig-common. Пакет MySQL указан в качестве необязательных зависимостей, поэтому его устанавливаем отдельно:

$ sudo apt-get install mysql-server

Команда:

$ sudo apt-get build-dep ocsinventory-server

в данном случае бесполезна, поэтому устанавливаем все, что необходимо, вручную:

$ sudo apt-get install libapache2-mod-perl2 libdbi-perl libapache-dbi-perl libdbd-mysql-perl libsoap-lite-perl libxml-simple-perl libnet-ip-perl libcompress-zlib-perl php5-gd

Скачиваем с сайта проекта OCSNG архив OCSNG_UNIX_SERVER-1.02.tar.gz и устанавливаем:

$ tar xzfv OCSNG_UNIX_SERVER-1.02.tar.gz

$ cd ./OCSNG_UNIX_SERVER-1.02/

$ sudo ./setup.sh

По ходу установки следует ответить на ряд стандартных вопросов: расположение сервера баз данных, исполняемого и конфигурационного файла веб-сервера, пользователь, от имени которого запускается веб-сервер и так далее.

В большинстве случаев скрипт сам находит все необходимое и достаточно просто подтвердить параметр. Единственное, с чем он не разобрался, это с пользователем и группой, от имени которых запускается Apache. Поэтому вместо предложенного [${APACHE_RUN_USER}] указываем www-data.

Далее производится проверка установленных модулей Perl. И в случае, если нужный не будет найден, выдается соответствующее сообщение. Так в зависимостях Ubuntu не указан модуль XML::Entities.

Сhecking for XML::Entities PERL module…

*** Warning: PERL module XML::Entities is not installed !

В репозитории пакета, обеспечивающего функции XML::Entities, нет, поэтому его следует установить самостоятельно из CPAN:

$ sudo cpan -i XML::Entities

И повторяем установку. По окончании скрипт предложит инсталлировать консоль администрирования.

В процессе установки в каталоге /etc/apache2/conf.d/ будут созданы конфигурационные файлы для веб-сервера – ocsinventory-server.conf и ocsinventory-reports.conf.

Сами PHP-скрипты, обеспечивающие функции OCSNG, будут скопированы в /usr/share/ocsinventory-reports/ocsreports и подключены к веб-серверу с использованием директивы Alias:

$ cat ocsinventory-reports.conf | grep -i alias

# Alias used to put Administration Server static page (typically PHP) outside

Alias /ocsreports /usr/share/ocsinventory-reports/ocsreports

# Alias to put Deployement package files outside Apache document root directory

Alias /download /var/lib/ocsinventory-reports/download

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

Кроме этого создается файл, обеспечивающий ротацию журналов раз в неделю.

$ cat /etc/logrotate.d/ocsinventory-server

# Rotate OCS Inventory NG Communication server logs daily

# Save 7 days old logs in compressed mode

/var/log/ocsinventory-server/*.log {

daily

rotate 7

compress

missingok

}

По окончании следует перезапустить веб-сервер:

$ sudo /etc/init.d/apache2 force-reload

Некоторые пакеты, распространяемые при помощи OCSNG, могут иметь размер больше 8 Мб, поэтому, чтобы не было проблем с их загрузкой, следует установить большее значение переменных post_max_size и upload_max_filesize в файле /etc/php5/apache2/php.ini, например в 10 Мб (по умолчанию – 8 и 2 Мб):

php_value post_max_size 10m

php_value upload_max_filesize 10m

Эти же установки надо изменить в файле ocsinventory-reports.conf.

Набираем в браузере http://localhost/ocsreports/install.php и в появившемся окне вводим логин и пароль для доступа к MySQL. По умолчанию в процессе установки для доступа к базе ocsweb будет создана учетная запись ocs с паролем ocs. Если только доступ к базе не ограничен локальной системой, то в целях безопасности пароль следует изменить:

$ mysql -uroot -prootsecret

mysql> UPDATE mysql.user SET Password = PASSWORD(‘ocspasswd’) WHERE User = ‘ocs’;

mysql> FLUSH PRIVILEGES;

mysql> exit

Новое значение пароля следует прописать в файле /usr/share/ocsinventory-reports/ocsreports/dbconfig.inc.php:

$_SESSION[«PSWD_BASE»]=»ocspasswd»

И в ocsinventory-server.conf:

PerlSetVar OCS_DB_PWD ocspasswd

Локализация

Переходим на страницу http://localhost/ocsreports, для регистрации используем логин admin с паролем admin. Щелкнув здесь же по флагу, можно активировать русский язык интерфейса, но сразу после установки это привело к появлению нечитаемых символов.

Файл локализации OCSNG требует замены

Файл локализации OCSNG требует замены

Единственным материалом по локализации интерфейса OCS Inventory является статья Евгения Бражко [5], но она относится к версии 1.02RC1, вышедшей в марте 2008 года, и многие вопросы, которые в ней описаны, в текущей версии уже решены. Так, анализ HTML-кода страницы показал, что она выдается в нужной кодировке:

 <META HTTP-EQUIV=»Content-Type» CONTENT=»text/html; charset=windows-1251;»>

Интерфейс локализуется при помощи языкового файла russian.txt, расположенного в /usr/share/ocsinventory-reports/ocsreports/languages. В меню Configurations есть отдельный пункт Language file, позволяющий его редактировать. Но открыв файл russian.txt в текстовом редакторе, поддерживающем СР1251, обнаруживаем только набор нечитаемых символов.

Вывод команды file:

$ file russian.txt

russian.txt: UTF-8 Unicode English text

задает еще больше вопросов. При этом:

$ file english.txt

english.txt: ASCII English text

А первая строка файла явно указывает на нужную кодировку.

$ head -n 1 russian.txt

Из этого делаем вывод – что-то не то с самим файлом, поэтому берем аналогичный с RC1 или другого источника (например, на сайте журнала www.samag.ru в разделе «Исходный код») и подменяем его, не забыв установить нужные права доступа.

$ sudo chown root:www-data russian.txt

После этого все надписи выводятся на русском.

Чтобы корректно выводились названия программ, установленных на Windows-системах, следует в файле /usr/share/ocsinventory-reports/ocsreports/preferences.php установить в «1» значение UTF8_DEGREE:

// 0 For non utf8 database, 1 for utf8

define(«UTF8_DEGREE», 1 );

Далее в файле machine.php, который находится в этом же каталоге, правим функцию print_softwares. После установки она будет иметь такой вид:

echo «$td3».htmlentities(textDecode($item->PUBLISHER)).»</td>

$td3″.htmlentities(textDecode($item->NAME)).» </td>

$td3″.textDecode($item->VERSION).» </td>

$td3″.(htmlentities(textDecode($item->COMMENTS))? ?htmlentities(textDecode($item->COMMENTS)): «N/A»).» </td>»;

Меняем на:

echo «$td3».textDecode($item->PUBLISHER).»</td>

$td3″.textDecode($item->NAME).» </td>

$td3″.textDecode($item->VERSION).» </td>

 $td3″.(htmlentities(textDecode($item->COMMENTS))? textDecode($item->COMMENTS):»N/A»).» </td>»;

После этого список программ, установленных на конкретном компьютере, будет выводиться корректно. Страница в PDF, создаваемая при помощи кнопки «Напечатать эту страницу», которая расположена в самом низу, также выглядела корректно. Хотя в общем списке ПО по-прежнему будет нечитаемый текст.

После всех правок информация об установленном ПО на кириллице выводится корректно

После всех правок информация об установленном ПО на кириллице выводится корректно

Установка агента

Агент для Windows написан на C++, его можно установить вручную, при помощи logon скрипта или правил GPO. Агент для Linux написан на Perl и С. Для его установки потребуется наличие некоторых модулей Perl (XML и Zlib) и dmidecode [4] (обеспечивает сбор данных из BIOS об оборудовании в соответствии со стандартами SMBIOS/DMI). В Linux агент устанавливается вручную. Сначала рассмотрим этот вариант.

Если клиент устанавливается на том же компьютере, что и сервер, практически все необходимые пакеты для удовлетворения зависимостей уже будут. Иначе устанавливаем:

$ sudo apt-get install libcompress-zlib-perl libnet-ip-perl libnet-ssleay-perl libwww-perl libxml-simple-perl po-debconf ucf dmidecode pciutils

Далее скачиваем и ставим агента:

$ tar xzvf OCSNG_UNIX_AGENT-1.02.tar.gz

$ cd Ocsinventory-Agent-1.0.1

$ perl Makefile.PL

$ make

$ sudo make install

После ввода последней команды поступит запрос на настройку агента.

Do you want to configure the agent

Please enter ‘y’ or ‘n’?> [y]

Отмечаем «y» и при помощи цифровых клавиш отвечаем на вопросы, где должен располагаться конфигурационный файл:

Where do you want to write the configuration file?

0 -> /etc/ocsinventory

1 -> /usr/local/etc/ocsinventory

2 -> /etc/ocsinventory-agent

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

Do you want to send an inventory of this machine?

Please enter ‘y’ or ‘n’?> [y]

[info] Accountinfo file doesn’t exist. I create an empty one.

-> Success!

В итоге в /var/lib/ocsinventory-agent будет создан подкаталог с файлами, содержащими текущую конфигурацию компьютера. Например, в ocsinv.adm содержатся тег и название системы, под которым она будет видна в консоли управления.

$ cat /var/lib/ocsinventory-agent/http:__localhost_ocsinventory/ocsinv.adm

<ADM>

<ACCOUNTINFO>

<KEYNAME>TAG</KEYNAME>

<KEYVALUE>Ubuntu</KEYVALUE>

</ACCOUNTINFO>

</ADM>

Практически сразу после установки агента сведения о новой системе появятся в консоли управления во вкладке «Все компьютеры».

При возникновении проблем можно запустить агента в режиме отладки:

$ ocsinventory-agent -l /tmp –debug —server http://localhost/ocsinventory

По умолчанию во вкладке «Все компьютеры» выводятся 7 характеристик клиентских машин, но при помощи раскрывающегося списка Add column можно добавить еще 23 поля. Хотя в некоторых случаях замечены ошибки в определении параметров. Так, на системе с такими характеристиками:

$ dmesg | grep -i processor

[ 97.725563] powernow-k8: Found 1 AMD Athlon(tm) 64 X2 Dual Core Processor 3600+ processors (2 cpu cores) (version 2.20.00)

[ 0.000000] Detected 2010.408 MHz processor.

В консоли OCS Inventory было выведено – 1000 Мгц, но при необходимости данные можно скорректировать вручную. По разным причинам в базу компьютер может быть занесен несколько раз, для удаления дубликатов существует одноименная вкладка, в которой одинаковые системы можно отобрать по нескольким характеристикам (имя, МАС-адрес, серийный номер).

После установки агентов данные автоматически появляются в консоли управления OCSNG

После установки агентов данные автоматически появляются в консоли управления OCSNG

Текущая версия агента для Windows 4.0.5.4, архив OCSNG_WINDOWS_AGENT_1.02.zip с установочными файлами можно скачать с сайта проекта. Судя по всему, в нем уже исправлена ошибка, которая приводила к тому, что русские буквы, начиная с ‘х'(0xF4) заменялись английским иксом. Во всяком случае, на тестовых системах все работало правильно. Как вариант можно использовать специальную сборку OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA.zip (версия агента 4.0.4.9) [5].

Самым простым вариантом установки является запуск исполняемого файла OcsAgentSetup.exe, в этом случае будет произведена стандартная установка, по окончании которой агент будет прописан в качестве сервиса. На последнем этапе указываем имя или IP-адрес OCSNG сервера и устанавливаем флажок Immediatly launch inventory, чтобы сразу же отправить отчет.

Все настройки будут сохранены в файле service.ini каталога, в который установлен агент.

В Vista следует открыть его и добавить параметр /DEBUG в строку запуска:

Miscellaneous=/SERVER:192.168.0.10 /PNUM:80 /DEBUG

При изменении оборудования или ПО агента вызвать принудительно, набрав в командной строке:

> «C:Program FilesOCS Inventory AgentOCSInventory.exe» /SERVER:ocsng_server /PNUM:80 /NOW

Также агента (файл ocsagent.exe, являющийся zip-архивом) можно импортировать в базу OCSNG, выбрав во вкладке «Агент» и указав место расположения файла. В этом случае он будет доступен с любого компьютера сети.

Кроме функций сетевой инвентаризации, OCSNG имеет возможность развертывания пакетов и запуска команд, записанных в файле (например, bat/vbs) на клиентских компьютерах (кроме Vista), информация о которых находится в инвентаризационной системе. При необходимости установки одного приложения на большое количество систем такая функциональность очень выручает.

Для начала пакет нужно создать. Переходим в меню Deployment -> Build и заполняем поля New package building. Название пакета должно быть уникальным, и желательно отражать его назначение. Параметр Priority определяет порядок размещения пакетов. Что, собственно, делать с пакетом, определяет поле Action.

Здесь три возможных значения:

  •  Store – копировать на целевую систему;
  •  Execute – копировать и выполнить с командой;
  •  Launch – копировать и запустить.

Параметры в User notifications позволяют вывести соответствующее предупреждение пользователю, разрешить ему отмену выполнения задачи. Созданный пакет загружается в каталог /var/lib/ocsinventory-reports/download/timestamp.

При этом timestamp получается уникальным.

$ ls /var/lib/ocsinventory-reports/download/

$ ls 1241722723

Файл info содержит настройки пакета, а 1241722723-1 является собственно программой.

Переходим в меню Deployment -> Activate, выбираем нужный пакет и нажимаем ссылку Activate. Вводим в появившемся окне адрес вида https://server/download/, при этом timestamp к URL будет добавлен автоматически, нажимаем «Отправить». В ответ должны получить сообщение:

Package activated, it can now be deployed.

Теперь выбираем компьютер, на котором хотим установить пакет, переходим в меню Customization, в самом низу выбираем ссылку add package, указываем на пакет и нажимаем в поле Affect. Подтверждаем свой выбор. В Customization появится информация о состоянии задачи, а в таблице в Activate будет выводиться статистика.

По умолчанию агент подключается к серверу раз в сутки, тогда и будет произведена установка. Можно ускорить этот процесс, вызвав подключение принудительно, как это показано выше. После подключения агента к серверу состояние пакета должно измениться с WAITING_NOTIFICATIONS на NOTIFIED, а затем Success. Пакет будет сохранен в каталоге C:Program FilesOCS Inventory AgentdownloadTIMESTAMP. А все связанные сообщения можно найти в файле download.log.

Кроме выдачи информации о «своем» компьютере, агенты в разных подсетях сканируют сеть в поисках MAC-адресов, принадлежащих других системам. Такая функция называется IP discovery и позволяет находить другие устройства, на которые нельзя установить агент (например, свитчи, принтеры и так далее).

Установка GLPI

Установка GLPI достаточно проста. В репозиториях дистрибутивов нужный пакет есть, но его версия обычно сильно отстает.

$ sudo apt-cache search glpi

glpi — IT and Asset management software

$ sudo apt-cache show glpi | grep -i version

Актуальной на момент написания статьи является версия 0.71.5, вышедшая в январе 2009 года. Кроме этого, на странице загрузки доступен предрелиз 0.72-RC2 и срез CVS-архива.

Для установки просто распаковываем скачанный архив в корневой каталог веб-сервера:

$ sudo tar xzvf glpi-0.71.5.tar.gz -C /var/www

$ cd /var/www/glpi

Устанавливаем для некоторых каталогов владельца и группу-владельца:

$ sudo chown www-data:www-data config files files/* inc

Далее набираем в браузере http://localhost/glpi выбираем язык (в списке есть русский), принимаем условия GPL и следуем указаниям мастера установки. Самый главный этап – «Проверка окружения на совместимость с GLPI», где следует внимательно прочитать и выполнить все рекомендации.

При установке GLPI следует выполнить все рекомендации программы

При установке GLPI следует выполнить все рекомендации программы

Например, по указанию мастера параметр memory_limit в php.ini следует установить в значение, большее чем 32 Мб:

$ grep -i memory_limit /etc/php5/apache2/php.ini

memory_limit = 128M

Выполняем все требования, проверяем повторно и, если все нормально, нажимаем Continue. Теперь собственно установка – вводим данные для доступа к MySQL, название базы данных, и все.

Чтобы GLPI автоматически проверял почту, отправлял уведомления, следует создать задание для пользователя, от имени которого работает веб-сервер (нужен пакет php5-cli):

$ sudo crontab -u www-data -e

*/5 * * * * /usr/bin/php5 /var/www/glpi/front/cron.php &>/dev/null

По умолчанию в GLPI создаются четыре учетные записи с разными правами и возможностями (через дробь указан пароль):

  •  glpi/glpi – администратор;
  •  tech/tech – технический специалист;
  •  normal/normal – обычная учетная запись (возможность просмотра данных);
  •  post-only/post-only – только обращение в службу поддержки.

GLPI поддерживает импорт учетных данных из AD или другой LDAP.

Регистрируемся в системе как glpi. Для локализации интерфейса в меню Setting -> Select Language выбираем русский язык, после этого все новые учетные записи будут использовать по умолчанию выбранный язык. Новые пользователи добавляются в одноименной вкладке, там несколько некорректный перевод. Так, логину соответствует поле «Имя пользователя», это иногда сбивает с толку. Чтобы не было путаницы, можно изменить значение в файле /var/www/glpi/locales/ru_RU.php:

$LANG[«setup»][18]=»Имя пользователя»;

Далее переходим в меню «Установки (Setup) -> Общие (General setup)» и устанавливаем «Активировать режим OCSNG (Activate OCSNG mode)» в «Да». После этого появится новая вкладка «Режим OCSNG» (OCSNG Mode).

Окно активации режима OCSNG

Окно активации режима OCSNG

Если OCSNG и MySQL установлены на локальной машине, то данные для подключения к OCSNG будут найдены автоматически. Иначе необходимо будет заполнить информацию о сервере OCSNG вручную.

По умолчанию синхронизируется только часть параметров, чтобы в базу данных GLPI были перенесены и компоненты компьютеров, следует разрешить их синхронизацию, установив флажок напротив нужного в положение «Глобальный импорт».

Кроме этого, во вкладке «Инструменты» появится пункт OCSNG, при помощи имеющихся здесь ссылок можно производить синхронизацию и импортирование компьютеров между OCSNG и GLPI.

Полученные данные появляются во вкладке «Оборудование». Здесь несколько подпунктов, переход в некоторые из них позволяет получить список некоторых компонентов, входящих в компьютер («Мониторы», «Принтеры»), отдельного оборудования («Картриджи», «Телефоны»), а также ПО. Импортированные компьютеры доступны в одноименном подпункте.

Выбрав компьютер или устройство, мы получаем доступ к 12 вкладкам, в которых можно просмотреть и скорректировать данные об оборудовании, сопоставить ответственного, просмотреть заявки, добавить заметки, сделать отметку о выдаче во временное использование, просмотреть историю и так далее.

К сожалению, на данный момент список импортированных с OCSNG компонентов компьютера, написанный на русском языке, выводится нечитаемым текстом.

Информация об оборудовании, импортированная с OCSNG в GLPI, отображается некорректно

Информация об оборудовании, импортированная с OCSNG в GLPI, отображается некорректно

Пользователей GLPI можно объединить в группы, кроме этого существует более глобальное понятие – «Организация». Сразу после установки создается «Основная организация», в которую и будут включены все компоненты. Предусмотрено создание других организаций с установлением подчиненности между ними (структуры). Но работа с организациями реализована неудобно, так перенос техники в другую организацию усложнен и неудобен. Предусмотрен экспорт данных в PDF, CVS и SLK (Symbolic Link).

По умолчанию при экспорте в PDF вместо русских букв выводятся знаки вопросов, это происходит по двум причинам: стандартная функция экспортирует данные в кодировке ISO-8859-1, которую и поддерживает используемый по умолчанию шрифт. Подсказка была найдена на форуме OPENNET [6]. Заменяем в скрипте /var/www/glpi/inc/export.function.php вызов функции utf8_decode на utf8_decode_cyr:

$ sudo perl -p -i -e ‘s/utf8_decode/utf8_decode_cyr/g’ export.function.php

inc/export.function.php:

И добавляем в export.function.php описание самой функции utf8_decode_cyr:

function utf8_decode_cyr($value){

return iconv(«UTF-8″,»Windows-1251»,$value);

}

По умолчанию для экспорта используется шрифт Helvetica, его бы я и рекомендовал оставить. Если заменить шрифт другим, его имя придется править не только в двух местах файла export.function.php:

$ cat export.function.php | grep -i selectFont

$pdf->selectFont(GLPI_ROOT.»/lib/ezpdf/fonts/Helvetica.afm»);

Но и в двух файлах, находящихся в lib/ezpdf.

$ sudo apt-get install ttf2pt1

Запускаем:

$ ttf2pt1 -l cyrillic -A Helvetica.ttf Helvetica

Теперь копируем файлы вместо старых, не забыв подправить права:

$ sudo cp -v Helvetica* /var/www/glpi/lib/ezpdf/fonts/

`Helvetica.afm’ -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.afm’

`Helvetica.t1a’ -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.t1a’

`Helvetica.ttf’ -> `/var/www/glpi/lib/ezpdf/fonts/Helvetica.ttf’

Исправленный вариант шрифтов, можно найти в разделе «Исходный код» сайта журнала www.samag.ru . После этого PDF будет выводиться корректно.

Файл PDF, сгенерированный в OCSNG, с информацией о системе

Файл PDF, сгенерированный в OCSNG, с информацией о системе

Установка плагинов для GLPI производится простой распаковкой в подкаталог glpi/plugins, после чего плагин будет доступен для настройки в меню «Установки -> Плагины». С сайта проекта можно скачать приблизительно 50 самых разнообразных плагинов.

Заключение

Интерфейсы, как OCSNG, так и GLPI, достаточно просты для освоения, нужно потратить полчаса, и вы будете хорошо ориентироваться. К сожалению, до конца вопрос локализации так и не решен. Так, для Windows в OCSNG неправильно отображаются кириллические наименования установленных программ и компонентов оборудования. Обсуждение всех вопросов по локализации можно найти на форумах проекта OCSNG и OPENNET [6], некоторым они помогают, у некоторых не получается все решить.

  1. Сайт проекта OCS Inventory NG – http://www.ocsinventory-ng.org.
  2. Сайт проекта GLPI – http://glpi-project.org.
  3. Яремчук С. Учет оборудования с Kwok Information Server. //Системный администратор, №10, 2008 г. – С. 40-43.
  4. Страница проекта dmidecode – http://www.nongnu.org/dmidecode.
  5. Инвентаризация компьютерной и оргтехники. OCS Inventory – http://eugene-online.blogspot.com/2008/04/ocs-inventory.html.
  6. Архив с исправлениями для агента Windows – http://switch.dl.sourceforge.net/sourceforge/ocsinventory/OCSNG_WINDOWS_AGENT_1.02_RC2_OTEA.zip.
  7. Обсуждение проблем локализации OCSNG – http://www.opennet.ru/openforum/vsluhforumID3/14092.html и http://forums.ocsinventory-ng.org/viewtopic.php?id=603.
  8. Страница Wiki проекта GLPI на русском – http://glpi-project.org/wiki/doku.php?id=ru:welcome.

Facebook

Twitter

Мой мир

Вконтакте

Одноклассники

Google+

Установка OCS NG Windows Agent

OcsAgentSetup4.0.6.1 старая версия первая работает сейчас подключается как клиет я так понял ‘OCS-NG_windows_client’ => [4032,4062],
Как Агент ‘OCS-NG_WINDOWS_AGENT’ => undef,
OCSNG-Windows-Agent-2.1.1.1 полследняя версия для xp 2003r2 перестала работать
OCSNG-Windows-Agent-2.4.0.0 для 7 и выше
Ocsinventory-Unix-Agent-2.4.2 для 7 и выше
OCS-Windows-Agent-2.6.0.0 только для 64 битных систем

1 OCS NG Windows Agent
1 OCS NG Windows Agent
2 OCS NG Windows Agent
2 OCS NG Windows Agent
3 OCS NG Windows Agent
3 OCS NG Windows Agent
4 OCS NG Windows Agent
4 OCS NG Windows Agent
5 OCS NG Windows Agent
5 OCS NG Windows Agent
6 OCS NG Windows Agent
6 OCS NG Windows Agent
7 OCS NG Windows Agent
7 OCS NG Windows Agent
8 OCS NG Windows Agent
8 OCS NG Windows Agent
9 OCS NG Windows Agent
9 OCS NG Windows Agent

есть такой файл для определения версии агента
https://github.com/OCSInventory-NG/OCSI … eragent.pm
данный параметр отпуливает мне строку в лог
if ($stop) {
&_log(400,’useragent’,’Bad agent or agent version too recent for server !!’) if $ENV{‘OCS_OPT_LOGLEVEL’};
return BAD_USERAGENT;
}
типа агент работает не верно или слишком новый
Хотя раньше у меня везде агент стоял версии 2 4 и все работалло , а щас хз что ему не нравится сравнил файлы старые новые вроде все норм
Еще многие пишут что конфликт ip в таблице
devices — унас тут дублируются ip но я выяснил по чему
Параметр IPDISCOVER -Максимальное количество активных сборщиков в одной подсети. 9шт и это нормально так как файл уже исправили код
https://github.com/OCSInventory-NG/OCSI … iscover.pm

Еще раз были обновлены файлы с исправлениями с гитхаба пере запущен апач и все стало гуд

Возможный путь на конфиг и Лог
C:UsersAll UsersOCS Inventory NGAgentocsinventory.ini
C:Documents and SettingsAll UsersApplication DataOCS Inventory NGAgentocsinventory.ini

Для редактирования файла остановить службу OCS Inventory Service открыть от имени администратора редактировать сохранить и запустить службу
Служба может долго стартовать и выдать ошибку но позже она запустится

Тихая установка с помощью CMD BAT
Скачать autoinstall-windows-ocsagent
autoinstall-windows-ocsagent.zip

autoinstall-windows-ocsagent
autoinstall-windows-ocsagent

Код: Выделить всё

@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Мамзиков Артём Андреевич
:: V 1.0 2019.12.27
chcp 1251 >NUL
TITLE Установка OCS Agent

:: Завершить процессы OCS
TASKKILL /IM OCS* /T /F
:: Остановить службу OCS
net stop "OCS Inventory Service"
sc stop "OCS Inventory Service"
net stop "OCS INVENTORY"
sc stop "OCS INVENTORY"
:: Удалить старую OCS
::wmic product where name=”OCSInventory*" call uninstall /nointeractive

@cls
@echo off
chcp 1251 >NUL
:: Определение IP DNS от Прокси в кодировке dos cp866 DNS-серверы (бҐаўҐал) и содержание в строке .5
::for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "DNS-"^|FIND /I ".5"') do set IPDNS=%%d
::set Server=http://%IPDNS: =%:3455/ocsinventory

::Получаем просто подсеть из начала совпадения сторки более правильно чем dns
for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do (
:: Так как ip разной длинны обрезка :~1.10% нам не подходит разбиваем на октеты
for /f "tokens=1-4 delims=. " %%k in ("%%d") do set IP=%%k.%%l.%%m
)

:: Для определения локальной сети без порта.
IF /I "%IP%"=="192.168.175" (set Server=http://%IP: =%.4/ocsinventory) ELSE (set Server=http://%IP: =%.5:3455/ocsinventory)

::set Server=http://%IP: =%.5:3455/ocsinventory

::Запрос Инвентарного номера
set /P inventar=Введите Инвентарный Номер вашего ПК и нажмите Enter!:
set tag=%inventar%

:: Определение версию Windows
::For /f "tokens=4" %%a in ('reg query "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v ProductName^|FIND /I "Windows"') do (
For /f "tokens=4,5" %%a in ('reg query "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v ProductName^|FIND /I "ProductName"') do (
if /i %%b==XP (goto :WindowsXP) else (if /i %%a==Vista (goto :WindowsVista) else if /i %%a==7 (goto :Windows7) else if /i %%a==8 (goto :Windows8) else if /i %%a==8.1 (goto :Windows8.1) else if /i %%a==10 (goto :Windows10) else (goto :end)))

:WindowsXP
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:WindowsVista
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:Windows7
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:Windows8
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:Windows8.1
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:Windows10
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1  /TAG=%tag%)
goto :end

:end

::Для XP Клиент Client 4061 и Agent-2.1.1.1
::Для Vista - 10 Агент 2.4.0.0 32 бит
::Для 64 bit Vista - 10 Агент 2.6.0.0

скачать скрипт

Без запроса на инвентарный номер без запросов

Код: Выделить всё

@ECHO OFF
mode con:cols=130 lines=40
color 1A
:: Автор Мамзиков Артём Андреевич
:: V 1.0 2019.12.27
chcp 1251 >NUL
TITLE Установка OCS Agent

:: Завершить процессы OCS
TASKKILL /IM OCS* /T /F
:: Остановить службу OCS
net stop "OCS Inventory Service"
sc stop "OCS Inventory Service"
net stop "OCS INVENTORY"
sc stop "OCS INVENTORY"
:: Удалить старую OCS
::wmic product where name=”OCSInventory*" call uninstall /nointeractive

@cls
@echo off
chcp 1251 >NUL
:: Определение IP DNS от Прокси в кодировке dos cp866 DNS-серверы (бҐаўҐал) и содержание в строке .5
::for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "DNS-"^|FIND /I ".5"') do set IPDNS=%%d
::set Server=http://%IPDNS: =%:3455/ocsinventory

::Получаем просто подсеть из начала совпадения сторки более правильно чем dns
for /f "tokens=2 delims=:(" %%d in ('ipconfig /all^|FIND /I "IP"^|FINDSTR /c:"192.168." /c:"172.16."') do (
:: Так как ip разной длинны обрезка :~1.10% нам не подходит разбиваем на октеты
for /f "tokens=1-4 delims=. " %%k in ("%%d") do set IP=%%k.%%l.%%m
)

:: Для определения локальной сети без порта.
IF /I "%IP%"=="192.168.175" (set Server=http://%IP: =%.4/ocsinventory) ELSE (set Server=http://%IP: =%.5:3455/ocsinventory)

::set Server=http://%IP: =%.5:3455/ocsinventory

::Запрос Инвентарного номера
::set /P inventar=Введите Инвентарный Номер вашего ПК и нажмите Enter!:
::set tag=%inventar%

:: Определение версию Windows
::For /f "tokens=4" %%a in ('reg query "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v ProductName^|FIND /I "Windows"') do (
For /f "tokens=4,5" %%a in ('reg query "HKLMSOFTWAREMicrosoftWindows NTCurrentVersion" /v ProductName^|FIND /I "ProductName"') do (
if /i %%b==XP (goto :WindowsXP) else (if /i %%a==Vista (goto :WindowsVista) else if /i %%a==7 (goto :Windows7) else if /i %%a==8 (goto :Windows8) else if /i %%a==8.1 (goto :Windows8.1) else if /i %%a==10 (goto :Windows10) else if /i %%a==Server (goto :Windows10) else (goto :end)))

:WindowsXP
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCSNG-Windows-Agent-2.1.1.1-xp-2003r2OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:WindowsVista
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:Windows7
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:Windows8
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:Windows8.1
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:Windows10
::Определяем разрядность и откуда запущен батник путь %~dp0 и запускаем тихую установку с параметрами
Set xOS=x64
If "%PROCESSOR_ARCHITECTURE%"=="x86" If Not Defined PROCESSOR_ARCHITEW6432 Set xOS=x86
If %xOS%==x86 (start "" "%~dp0OCSNG-Windows-Agent-2.4.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG) Else (start "" "%~dp0OCS-Windows-Agent-2.6.0.0OCS-NG-Windows-Agent-Setup.exe" /S /NOSPLASH /NOW /SSL=0 /SERVER=%Server% /DEBUG=1 /NOTAG)
goto :end

:end

::Для XP Клиент Client 4061 и Agent-2.1.1.1
::Для Vista - 10 Агент 2.4.0.0 32 бит
::Для 64 bit Vista - 10 Агент 2.6.0.0

Скачать скрипт

OCS Agent Install bat
OCS Agent Install bat

Что делает скрипт
1 Определяет версию Windows от xp до 10
2 Определяет разрядность х86 х64
3 Запрашивается инвентарный номер
4 Определяет путь где находится
5 В зависимости от того какие параметры получены выбирается нужный агент под систему для установки
6 Запускается тихая установка с параметрами

ussf.exe ocs agent windows
ussf.exe ocs agent windows
ocs agent version
ocs agent version

О Параметрах Тихой Установки

Официальная документация

Параметры командной строки OCS Inventory NG Agent for Windows Setup

Настройка агента Службы » OCS-NG-Windows-Agent-Setup.exe » может быть вызван с некоторыми параметрами командной строки:

/S для запуска программы установки в автоматическом режиме, без взаимодействия с пользователем
/NOSPLASH отключить заставку при запуске программы установки
/NO_SERVICE, чтобы не регистрировать OCS Inventory NG Agent в Диспетчере служб Windows. Агент может быть запущен только вручную или через скрипт/GPO.
/NO_SYSTRAY, чтобы не создавать ярлык в папке запуска «все пользователи» для запуска апплета systray при входе пользователя в систему.
/NOW чтобы запустить инвентаризацию сразу после установки
/NOSOFTWARE для игнорирования установленного программного обеспечения
/D для установки агента ocsinventory в другой каталог (по умолчанию %PROGRAMFILES%ocs inventory agent)
/UPGRADE для развертывания нового агента с помощью функции развертывания OCS. Поскольку вы обновляете агент с помощью самого агента для запуска обновления, необходимо уведомить установщик (который завершает процессы агента), чтобы указать результат, чтобы отправить его обратно на сервер в следующий раз, когда агент будет запущен.

Примечание: пожалуйста, не используйте OCSPackager для обновления OCS Inventory Windows Agent. Создайте пакет развертывания с помощью «OCS-NG-Windows-Agent-Setup.exe » на zip-файле и запустить с помощью команды пример : OCS-NG-Windows-Agent-Setup.exe /S / UPGRADE / SERVER=ocs_server_address

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

/SERVER=
/USER=
/PWD=
/SSL=
/CA=
/PROXY_TYPE=
/PROXY=
/PROXY_PORT=
/PROXY_USER=
/PROXY_PWD=
/DEBUG=
/NOTAG
/TAG=
/D=

Развертывание или запуск агента через объект групповой политики Active Directory

Примечание: мы рекомендуем использовать служебную версию Агента, если вы планируете использовать функцию развертывания пакета.

Чтобы развернуть агент с помощью объекта групповой политики, мы рекомендуем вам создать автономный упаковщик, в котором вся ваша конфигурация уже подготовлена. См. раздел Использование OCS Packager для создания универсального установщика для установки сертификата агента и сервера

После создания упаковщика вам нужно будет хранить его в месте, к которому имеют доступ все ваши пользователи.

Затем создайте объект групповой политики, который инициирует вход пользователя в систему. Вам нужно будет создать скрипт, который вызовет исполняемый файл packager и запустит установку на компьютер.

Вот пример сценария:

@echo off

rem-скрипт, вызывающий исполняемый файл упаковщика в общей файловой системе

rem устанавливаем наш упаковщик
«myfileserver/my / path / packager.exe»

Использование или «ОК инвентаризации НГ агента развертывания», чтобы подтолкнуть инвентаризации ОК агента НГ

PSEXEC от Microsoft ( https://technet.microsoft.com/fr-fr/sysinternals/psexec ) является отличным и быстрым способом установки агентов OCS на всех компьютерах Windows, вы можете буквально настроить большинство своих компьютеров за несколько часов (если все они подключены к сети, то есть).

Примечание: мы создали графический инструмент для Windows, OCS Inventory NG Agent Deployment Tool, который позволяет
вам будет проще использовать PSEXEC. Он способен одновременно запускать установку агента на 10 компьютерах,
а также скопировать сертификат, используемый для аутентификации сервера развертывания в папке данных OCS Inventory NG.

Некоторые советы:

PSEXEC лучше всего использовать вместе со сценариями входа в домен или GPO Active Directory:

Используйте PSEXEC для установки на всех компьютерах, которые в настоящее время подключены к сети (лучше всего использовать в рабочее время).
Затем добавьте сценарий входа в систему/объект групповой политики, как описано выше, чтобы установить его на компьютеры, которые были отключены при следующем подключении к сети.
Если вы действительно не хотите использовать Logon script/GPO, вы можете создать и отслеживать файл ответов, чтобы получить список компьютеров, которые не были развернуты по какой-либо причине, а затем повторно запустить PSEXEC только для этих компьютеров.

Примеры использования PSEXEC:

Мы предполагаем, что установочный файл агента называется agentsetup.exe и он был помещен в общую папку, доступную для всех пользователей.

Установка в автоматическом режиме на всех компьютерах, зарегистрированных в данный момент в вашем домене:

psexec \* -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory

Установка в автоматическом режиме на одном компьютере:

psexec \COMPUTER_NAME -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory

Установка в автоматическом режиме на всех компьютерах с использованием учетных данных администратора домена:

psexec \* -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory

Установка в автоматическом режиме на определенные компьютеры (все.TXT-это текстовый файл, в котором перечислены имена целевых компьютеров (по одному на строку) с использованием учетных данных администратора домена:

psexec @ALL.TXT -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory

Для локальной установки
Например, можно использовать OCS-NG-Windows-Agent-Setup.exe /S /LOCAL=C: чтобы молча генерировать «.ocs » файл инвентаризации в папку c:.

Параметры командной строки OCS Inventory NG Agent for Windows
OCS Inventory NG Agent версии 2.0 или выше включает некоторые параметры командной строки, позволяющие обнаруживать ошибки.
После установки агента вы можете запустить его вручную для диагностики неполадок. Используйте «C:Program FilesOCS Inventory AgentOCSInventory.exe [options]» командная строка, где [options] может быть в следующих параметрах командной строки.

Значение Параметров Командной Строки
/work_dir=» путь к каталогу»
агент должен использовать» путь к каталогу » в качестве рабочего dir (этот каталог может содержать конфигурационный файл).
По умолчанию используется «%ALLUSERSPROFILE%Application DataOCS Inventory NGAgent» или «%PROGRAMDATA%OCS Inventory NGAgent»

/local[=»путь к папке»]
агент не связывается с сервером связи, а хранит инвентарь в сжатом виде xml .ocs файл в папку «путь к папке».
Если «путь к папке» не указан, агент принимает папку как папку данных

/debug[=level]
генерирует очень подробный лог-файл » ocsinventory.войдите» в папку установки агента.
0 = > отключить подробные журналы (по умолчанию)
1 => включить подробные журналы по умолчанию (по умолчанию, если уровень не указан).)
2 = > включить отладку журналов

/notag
агент ни в коем случае не должен запрашивать у пользователя тег

/tag=»my value»
агент должен установить «инвентарник» как значение тега

/xml=[«path to folder»]
агент должен хранить инвентарь в несжатом формате xml в папке»путь к папке».
Если «путь к папке» не указан, агент принимает папку как папку данных

/force
всегда отправляет инвентарь, даже если сервер не запрашивает его (используйте только для отладки !)

/ipdisc=» номер сети «
агент должен запустить обнаружение IP-адресов в сети «номер сети» (используйте только для отладки !)

/ipdisc_lat=» количество миллисекунд »
установите задержку между 2 запросами обнаружения IP на «количество миллисекунд»

/fastip
никогда не ждите задержки между 2 IP-запросами обнаружения (используйте только для отладки !)

/hkcu
Поиск также для программного обеспечения в разделе HKEY_CURRENT_USER registry hive (не работайте с сервисом как LocalSystem !)

/uid
агент / uid должен создать новый уникальный идентификатор устройства

/server=http[s]:// сервер.домен.tld [: port] / ocsinventory
Agent пытается подключиться к адресу сервера связи и Порту прослушивания на http [s]://server.домен.tld [: port]/ocsinventory

/ssl=0/1
при использовании SSL-соединений usng:
0 = > SSL без проверки сертификата
1 => требуется SSL с проверкой сертификата сервера (требуется сертификат CA)

/ca=»path_to_cabundle.PEM »
путь к файлу цепочки сертификатов CA в формате PEM, для проверки сертификата сервера

/user=username
/pwd=password
аутентификация сервера связи учетные данные

/proxy_type=0/1/2/3
прокси агента использовать
0 = > Нет
1 => HTTP прокси
2 => Socks 4 прокси
3 => Socks 5 прокси

/proxy=proxy_address
адрес прокси-сервера (без протокола !)

/proxy_port=port
порта прокси-сервера

/proxy_user=username
учетные данные для проверки подлинности прокси-сервера

/proxy_pwd=password
для проверки подлинности прокси-сервера

/D=/
укажите каталог, в который вы хотите установить агент ocsinventory (по умолчанию %PROGRAMFILES%ocs inventory agent)

OCS Inventory NG Agent 2.X on Windows Operating Systems

Agent Version Compatibility Note
2 . X Does not work on Windows 9X, Windows Millennium Edition or Windows NT4. You need to use old 1.X agent 4061-1.
2 . 1 . 1 . 1 On Windows XP and 2003R2 you can only use this Windows agent version.
2 . 6 Agent is only installable on 64-bit machines.
2.6.0.1 Agent is only installable on 64-bit machines.
2.7.X.X and newer Agent is installable on 64-bit and 32-bit machines.

OCS Inventory NG Agent for Windows can run as a Windows service automatically at computer startup.

It can also work as a stand alone application which can be launched through a login script, an Active
Directory GPO, a scheduled task or a shortcut in the Start menu.

Note: We recommend using the service version of the Agent, especially if you plan to use the package deployment feature.

Download and unzip the latest Windows agent from the Downloads section. This package contains 1 file:

  • OCS-NG-Windows-Agent-Setup.exe: installs the Windows Agent, either as a Windows Service or as a Standalone tool.

Which version: Service or Standalone ?

The Windows service version will automatically communicate with the OCS-NG system and perform inventories
and package deployment based on parameters set on the server. The standalone client is used for computers
that cannot communicate with the server, or where the service version is not wanted or allowed.

How does Windows Agent work ?

When the OCS Inventory NG Agent is launched, it queries the Communication server using the HTTP
or HTTPS protocol. The server can answer “nothing” (not time for an inventory and no package to deploy),
and the agent stops. Otherwise, the server may answer that Agent has to:

  • Send an inventory: the agent retrieves all computer properties and sends them using HTTP
    or HTTPS protocol to the server. The server ask this only if the last inventory date in the database
    is older than the general option “FREQUENCY”, specified in days (see
    Managing OCS Inventory NG general options.)
  • Discover the network: Agent scans his IP subnet for active devices listening on the network,
    then sends these data using HTTP or HTTPS protocol to the server. The server ask this only if the
    computer is elected to run IPDISCOVERY (see
    Using IP discovery feature.)
  • Deploy a package: Agent contacts the deployment server using the HTTPS protocol to get the information file (file INFO which describes the package), downloads package fragments from the deployment server, rebuilds the package and launches it.

Since OCS Inventory Agent 2.6, it’s possible to deploy package greater than 4GB (only on 64-bit versions).
However, the deployment of such package may cause latency in machines on which it’s deployed.

Note: The OCS Inventory NG Agent does not listen on the network. It only initiates communications to the server, so you do not have to open inbound port on a personal firewall. However, you must allow outbound connections from OCS Inventory NG agent files "OCSInventory.exe" and "Download.exe" to the Communication Server or Deployment Server using either HTTP or HTTPS.

Each time an inventory is done, the Agent uses and writes configuration files stored into folder
“%ProgramData%OCS Inventory NGAgent”. This directory is usually

  • C:Documents and SettingsAll UsersApplication DataOCS Inventory NGAgent under Windows 2000, XP and 2003.
  • C:ProgramDataOCS Inventory NGAgent under Windows Vista, 2008, Seven and 2008 R2.

It uses at least the following files:

  • ocsinventory.ini: all configuration parameters for the agent (server address and credentials,
    proxy address and credentials, service properties…),
  • ocsinventory.dat: computer unique identity file, based on MAC address and hostname,
  • last_state: last inventory state, to detect changes between 2 inventory,
  • history: package deployment history,
  • All log files created by OCS Inventory NG Agent.

Note: YOU MUST STOP "OCS Inventory Service" to make changes on these files, because they are write protected while service is running. As is, only user having Administrator privileges can modify these files.

When launched for the first time, OCS Inventory NG agent will prompt user for the TAG value
(if this feature is enabled). Help text displayed in the dialog-box is the one you have entered
in Configuring management server. User may enter this value, or leave it blank (you will be able
to update this value through the Administration server).

Then (or otherwise if TAG feature is not enabled), it will do the inventory and send inventory
results to Communication server using HTTP or HTTPS.

Note: When the agent is first launched, it will only generate and send an inventory.

How does Windows service work?

Note: You must have Administrator privileges to set up OCS Inventory NG Agent as a service, or you may use OCS Inventory NG Packager to create an installer able to run even if user do not have Administrator privileges. Refer to
Uploading Agent for deployment through launcher “OcsLogon.exe”
or OCS Inventory NG Packager documentation.

  • OCS Inventory NG Agent “OCSInventory.exe” is launched by service “OcsService.exe” every PROLOG_FREQ hours.
    It keeps trace of the countdown in seconds in file “ocsinventory.ini” (value TTO_WAIT), so it is the time
    of EFFECTIVE run.
  • The number of hours to wait is randomized at install time and each time PROLOG_FREQ is changed in
    Administration Console.
  • It allows not having all agents contacting Communication Server at the same time. The randomization
    is between 0 and PROLOG_FREQ (10 hours by default). You can adjust these parameters considering your
    server load using Administration Console.

When service launch agent, it call without parameter, so agent uses parameters specified in file “ocsinventory.ini”.

As you can see, Service is only a launcher which will run Agent regularly, even if nobody logs in the computer.

Do I have to use service or standalone agent ?

  • You want to have computers inventoried, even if nobody log in ? Use Service version.
  • You want to use package deployment feature ? Use service version. As is, package will be downloaded
    in background, and logged in user can continue to work.
  • You do not want to set service up or have anything appears in the registry ? Use standalone version.
    However, deployment of package may take a long time when users log in.

In other words, we recommend using service version.

Manually installing OCS Inventory NG Agent for Windows.

Run “OCS-NG-Windows-Agent-Setup.exe” on client computer..

Icone installer Windows Agent

..and click “Next” button

Start Installation

Validate license agreement by clicking “I agree” button.

Accept Licence

Select the installation type you want:

  • Network inventory: Computer can reach OCS Inventory NG Server through the network, and so,
    Agent will be launched using either a Windows Service, or a Logon/GPO script.
  • Local inventory: Computer is not connected to a network, or will never be able to reach
    OCS Inventory NG Server. You can generate an inventory of this computer and save to file to be imported
    later on server (see chapter Generating inventory of a non network connected Windows computer below).

Choose components

Fill in OCS Inventory NG Communication server URL, like
http://your_ocs_server_address:your_server_port/ocsinventory
. You can also specify https if your server is SSL enabled to secure communication.
If you’ve protected your Communication Server access with credentials, you must specify credentials
agent will use to authenticate (these credentials will be encrypted to be stored into configuration file).
If you’re aware of server certificate validation when using HTTPS protocol, either for sending inventory
or deploying package, you can disable it. However, this is a security flaw! We do not recommend disabling
certificate validation because Agent does not authenticate server
. With certificate validation enabled,
you must specify path to Certificate Authority root certificate (default uses
«%ProgramData%OCS Inventory NGAgentcacert.pem»). Then click “Next” button.

Note: You can use self-signed certificate, but certificate CN must equal to server address used by agents for communications. Also, if full path to certificate is not provided, agent will try to load the specified file from its data folder "%ProgramData%OCS Inventory NGAgent".

Change properties

If needed, select proxy type to use to connect to Communication Server, proxy address and port, and
proxy credentials if required (these credentials will be encrypted to be stored into configuration file).
Agent support HTTP, SOCKS 4 and SOCKS 5 proxies.

Proxy Properties

By default, OCS Inventory Agent write only few information in log files. You may increase
this enabling “Verbose log”. You may also disable TAG question, or specify the TAG value. Last,
indicate which level of system integration you need:

  • Do not register service using LocalSystem account (i.e, use standalone agent, which must be launched manually or using login script).
  • Do not configure OCS Inventory NG Systray Applet to start automatically when user log in. This applet allows user to manually run agent, or to display inventory information. Disabling this option does not create shortcut link in «All users» startup menu.
  • Launch inventory just at the end of setup.

Windows Properties

By default, OCS Inventory agent use the WBEM_FLAG_RETURN_WBEM_COMPLETE flag WMI to retrieve its data. However in some cases, this can trigger additional queries to the domain controller.

With the 2.9.1.0 agent, there is the possibility to set the flag to two different mode :

  • WBEM_FLAG_RETURN_WBEM_COMPLETE
  • WBEM_FLAG_DIRECT_READ

The WBEM_FLAG_DIRECT_READ flag will only read WMI information present directly on the system and won’t trigger any query to the domain controller.

Please note the use of this flag will most likely result in information loss.

Possible agent configuration :

  • COMPLETE (default) : Allow full WMI query
  • READ : Read only WMI queries (might lead to inventory data loss)

The READ mode of the agent also comes with a DEFAULT_USER_DOMAIN configuration. Using the read flag will in most of the case make the agent unable to retrieve the current active directory domain user.

Setting DEFAULT_USER_DOMAIN will allow to set a default connected user.

Windows Properties

Choose destination folder, “C:Program FilesOCS Inventory Agent” by default
(“C:Program Files (x86)OCS Inventory Agent” under Windows 64 bits), and click “Install” button.

Install Location

Click “Finish” button to close OCS inventory NG Agent Setup.

End of the installation

This is the interactive installation setup. However, this process requires that you launch it under
all your computers. Hopefully, this installation can be scripted.

OCS Inventory NG Agent for Windows Setup command line options

Service Agent setup «OCS-NG-Windows-Agent-Setup.exe» may be called with some command line parameters:

  • /S to run the installer in silent mode, no interaction with user
  • /NOSPLASH disable splash screen when installer starts
  • /NO_SERVICE to not register OCS Inventory NG Agent into Windows Service Manager. Agent can only be launched manually or through a script/GPO.
  • /NO_SYSTRAY to not create a shortcut into «All Users» startup folder to start systray applet when user log in.
  • /NOW to launch inventory just after setup
  • /NOSOFTWARE to ignore software installed
  • /D to install ocsinventory agent in an another directory (default %PROGRAMFILES%ocs inventory agent)

Note: Please, don't use OCSPackager to upgrade OCS Inventory Windows Agent. Create deployement package with "OCS-NG-Windows-Agent-Setup.exe" on zip file and launch with command example : OCS-NG-Windows-Agent-Setup.exe /S /SERVER=ocs_server_address

Also, you can pass to the installer the following agent’s command line parameters
(see agent’s options below for more detail):

  • /SERVER=
  • /USER=
  • /PWD=
  • /SSL=
  • /CA=
  • /PROXY_TYPE=
  • /PROXY=
  • /PROXY_PORT=
  • /PROXY_USER=
  • /PROXY_PWD=
  • /DEBUG=
  • /NOTAG
  • /TAG=
  • /D=
  • /WMI_FLAG_MODE=
  • /DEFAULT_USER_DOMAIN=

Deploying or running Agent through Active Directory GPO

Note: We recommend using service version of Agent if you plan to use package deployment feature.

To deploy the agent using GPO we recommand you to create a standalone packager with all your configuration already provisionned. See using OCS Packager to create an all-in-one installer to setup agent and server certificate

After creating a packager, you will need to store it at a place where all your users have access to.

Then create a GPO that trigger on user login. You will have a create a script that call the packager executable and trigger the installation on the computer.

Here is a sample script:

@echo off

rem Script that call the packager executable on shared file system

rem Installing our packager
"myfileserver/my/path/packager.exe" 

Using PSEXEC or «OCS Inventory NG Agent Deployment Tool» to push OCS Inventory NG Agent

PSEXEC from Microsoft (
https://technet.microsoft.com/fr-fr/sysinternals/psexec
) is a great and fast way to install the OCS agents on all Windows computers, you can literally setup most
of your computers in a few hours (assuming they are all connected to the network, that is).

Note: We've created a graphical tool for Windows, OCS Inventory NG Agent Deployment Tool, which allows you to use PSEXEC more easily. It is able to push agent's installation on up to 10 computers simultaneously, and also to copy the certificate used to authenticate deployment server in OCS Inventory NG data folder.

Some tips:

PSEXEC is best used together with Domain Logon scripts or Active Directory GPO:

  1. Use the PSEXEC to install on all computers that are currently connected to the network
    (best used during business hours).
  2. Then add a logon script/GPO as described above to install on computers that were offline the next time
    they connect to the network.
  3. If you really don’t want to use logon script/GPO, you can create and monitor a response file to get
    a list of computers that were not deployed for any reason, and then rerun PSEXEC just for these computers.

PSEXEC Usage examples:

We assume that the agent setup file is called agentsetup.exe and it was placed on a shared folder accessible to all users.

  • Install silently on all computers currently logged in your domain:

      psexec \* -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on a single computer:

      psexec \COMPUTER_NAME -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on all computers using the domain administrator credentials:

      psexec \* -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on specific computers (ALL.TXT is a text file that lists target computer names, one per line), using domain administrator credentials:

      psexec @ALL.TXT -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    

Generating inventory of a non network connected Windows computer

Run “OCS-NG-Windows-Agent-Setup.exe” on client computer, from an USB stick for example…

Icone installer Windows Agent

..and click “Next” button.

Start Installation

Validate license agreement by clicking “I agree” button.

Accept Licence

Select Local inventory installation type.

Choose components

By default, OCS Inventory Agent writes only few lines in the log files. You may increase this enabling
“Verbose log”. You may also specify the TAG value. Last, indicate the folder where you want to store
generated inventory file, your usb stick for example:

Choose folder

In local inventory mode, Agent will be installed into a temporary folder
(we recommend not changing this folder, it will be automatically deleted at the end of process),
Click “Install” button to start process. Agent is installed into temporary folder, launched to generate
a «.ocs» inventory file stored in the folder you’ve specified, and then removed from computer.

Install location

Click “Finish” button to close OCS inventory NG Agent Setup.

End of the installation

This is the interactive process, but it can be scripted using /LOCAL=path_to_folder_where_to_store_ocs_file
command line switch.

For example, you can use OCS-NG-Windows-Agent-Setup.exe /S /LOCAL=C: to silently generate
«.ocs» inventory file into folder c:.

Once you’ve transfered generated inventory file, you will be able to import it into the inventory
database of OCS Inventory NG Server, through the Administration Console.

OCS Inventory NG Agent for Windows command line options

OCS Inventory NG Agent version 2.0 or higher includes some command line switches to allow detecting errors.

Once agent is installed, you can run it manually to diagnose problems. Use “C:Program FilesOCS Inventory
AgentOCSInventory.exe [options]” command line where [options] may be in the following command line switches.

Command Line Options Meaning
/work_dir=»path to directory» Agent must use «path to directory» as working dir (this directory may included configuration file). Default is «%ALLUSERSPROFILE%Application DataOCS Inventory NGAgent» or «%PROGRAMDATA%OCS Inventory NGAgent»
/local[=»path to folder»] Agent do not contact communication server, and store inventory in xml compressed .ocs file into folder «path to folder». If no «path to folder» provided, agent assume folder as data folder
/debug[=level] Generate a very verbose log file «ocsinventory.log» into agent’s install folder.
0 => disable verbose logs (default)
1 => enable default verbose logs (default when no level provided provided)
2 => enable debuging logs
/notag Agent must NOT prompt user for TAG in any case
/tag=»my value» Agent must set «my value» as TAG value
/xml=[«path to folder»] Agent must store inventory in uncompressed xml format into folder «path to folder». If no «path to folder» provided, agent assume folder as data folder
/force Always send inventory, even if server do not ask for it (use only for debugging purpose !)
/ipdisc=»network number» Agent must launch IP discovery on network «network number» (use only for debugging purpose !)
/ipdisc_lat=»number of milliseconds» Set latency between 2 IP Discover requests to «number of milliseconds»
/fastip Never wait for latency between 2 IP Discover requests (use only for debugging purpose !)
/hkcu Search also for software under HKEY_CURRENT_USER registry hive (do not work with service as LocalSystem !)
/uid Agent must generate a new unique device ID
/server=http[s]://server.domain.tld[:port]/ocsinventory Agent try to connect to Communication Server address and port Listening on http[s]://server.domain.tld[:port]/ocsinventory
/ssl=0/1 When usng SSL connections:
0 => SSL without certificate validation
1 => SSL with server certificate validation required (needs CA certificate)
/ca=»path_to_cabundle.pem» Path to CA certificate chain file in PEM format, for server certificate validation
/user=username /pwd=password Communication Server authentication credentials
/proxy_type=0/1/2/3 Agent proxy
use 0 => no
1 => HTTP proxy
2 => Socks 4 proxy
3 => Socks 5 proxy
/proxy=proxy_address Proxy server address (without protocol !)
/proxy_port=port Proxy server port
/proxy_user=username Proxy authentication credentials
/proxy_pwd=password Proxy authentication credentials
/D=/ specify the directory where your want to install ocsinventory agent (default %PROGRAMFILES%ocs inventory agent)
/wmi_flag_mode=[COMPLETE/READ] WMI flag mode used by the agent
/default_user_domain=default.user Read only WMI queries (might lead to inventory data loss)

Sample configuration file «ocsinventory.ini»

[OCS Inventory Agent]
; OCS Inventory NG Agent features
; Enable debugging mode (0 => disabled, 1 => enabled, 2=> trace all)
Debug=1
; Enable local inventory mode (path to folder to store .ocs file => enabled,
; empty => disabled)
Local=
; Enable agent scanning HKEY_CURRENT_USER hive for printers and sofware
; (0 => disabled, 1 => enabled)
HKCU=0
; Disable prompting user for TAG value (0 => prompt allowed, 1 => disabled)
NoTAG=0
; Force agent launching IpDiscover on specified network (network address => enabled,
; empty disabled)
IpDisc=
; Which communication provider to use
; Name of communication DLL and configuration section to use
; DLL must be in "com" sub directory
ComProvider=ComHTTP.dll
; Behavior of WMI calls
; COMPLETE => Allow WMI full WMI queries
; READ => Not allow
WMI_FLAG_MODE=COMPLETE
; Read only WMI queries (might lead to inventory data loss)
DEFAULT_USER_DOMAIN=

[HTTP]
; OCS Inventory NG Communication Server address and port
; Listening on http[s]://server[:port]/ocsinventory
Server=http://localhost/ocsinventory
; Using SSL connections (0 => SSL without certificate validation,
; 1 => SSL with server certificate validation required)
SSL=0
; Path to CA certificate chain file in PEM format, for server certificate
; validation
CaBundle=D:DeveloppOCS Inventory NGcacert.pem
; Using authentication on Communication Server (0 => no, 1 => yes)
AuthRequired=0
; Communication Server authentication credentials (encrypted)
User=
Pwd=
; Using proxy (0 => no, 1 => HTTP proxy, 2 => Socks 4 proxy, 3 => Socks 5 proxy)
ProxyType=0
; Proxy address and port
Proxy=
ProxyPort=
; Using proxy authentication (0 => no, 1 => yes)
ProxyAuthRequired=
; Proxy authentication credentials (encrypted)
ProxyUser=
ProxyPwd=


[OCS Inventory Service]
; Time to wait in minutes before next agent start
TTO_WAIT=1020
; Number of hour between 2 agent runs
PROLOG_FREQ=5
; Old value of PROLOG_FREQ
OLD_PROLOG_FREQ=10

Uninstalling the agent

Starting the 2.10.0.0, the Windows agent add some housecleaning option on the uninstaller.

Note : The uninstaller is present in the installation directory of the agent (uninst.exe)

If you uninstall the agent manually, you’ll see a new window ask you if you desire to clean remaining agent files :
End of the installation

The agent provide three differents options in order to clean the configuration files and data files present on the %ProgramData% directory :

  • NONE (Doesn’t remove anything)
  • ONLY CONFIGURATION (Remove the ocsinventory.ini and the Download folder)
  • ALL FILES (Completely remove the OCS Inventory NG folder in %ProgramData%)

Note : If you choose the last option and reinstall the agent later, it’ll most likely lead to a duplicate in the webconsole since the agent will have to regenerate a deviceid (ocsinventory.dat)

You can also run the uninstaller programmatically with the /CLEAN option.
It can be useful if you plan a mass uninstallation of the agent.

By default, if you run .uninst.exe /S it won’t clean the files in the %ProgramData% directory.

In order to only clean the files (ONLY CONFIGURATION), you can use : .uninst.exe /S /CLEAN=FILES

To clean everything in the %ProgramData% directory (ALL FILES) : .uninst.exe /S /CLEAN=ALL

Using the portable agent

The portable agent can be used if you are looking for a way to run the agent as a one time thing, without any installation.

  • The «RunPortableAgent.bat» script needs to be modified : edit OCS_SERVER_URL and OCS_CLIENT_TAG if needed.

  • Execute this same script to launch an inventory. Once this is done, run the «CleanPortableAgent.bat» script to clear the system from any agent related files.

Command line options for the Windows agent are also available for the portable agent.

When using them, you won’t have to modify the script mentionned above, just navigate to the directory, edit the «ocsinventory.ini» file to configure the agent and launch «OCSInventory.exe» with any useful options.

Alternatively, you can provide configuration through the command line as well, and leave the .ini file as is.

OCS Inventory NG Agent 2.X on Windows Operating Systems

Agent Version Compatibility Note
2 . X Does not work on Windows 9X, Windows Millennium Edition or Windows NT4. You need to use old 1.X agent 4061-1.
2 . 1 . 1 . 1 On Windows XP and 2003R2 you can only use this Windows agent version.
2 . 6 Agent is only installable on 64-bit machines.
2.6.0.1 Agent is only installable on 64-bit machines.
2.7.X.X and newer Agent is installable on 64-bit and 32-bit machines.

OCS Inventory NG Agent for Windows can run as a Windows service automatically at computer startup.

It can also work as a stand alone application which can be launched through a login script, an Active
Directory GPO, a scheduled task or a shortcut in the Start menu.

Note: We recommend using the service version of the Agent, especially if you plan to use the package deployment feature.

Download and unzip the latest Windows agent from the Downloads section. This package contains 1 file:

  • OCS-NG-Windows-Agent-Setup.exe: installs the Windows Agent, either as a Windows Service or as a Standalone tool.

Which version: Service or Standalone ?

The Windows service version will automatically communicate with the OCS-NG system and perform inventories
and package deployment based on parameters set on the server. The standalone client is used for computers
that cannot communicate with the server, or where the service version is not wanted or allowed.

How does Windows Agent work ?

When the OCS Inventory NG Agent is launched, it queries the Communication server using the HTTP
or HTTPS protocol. The server can answer “nothing” (not time for an inventory and no package to deploy),
and the agent stops. Otherwise, the server may answer that Agent has to:

  • Send an inventory: the agent retrieves all computer properties and sends them using HTTP
    or HTTPS protocol to the server. The server ask this only if the last inventory date in the database
    is older than the general option “FREQUENCY”, specified in days (see
    Managing OCS Inventory NG general options.)
  • Discover the network: Agent scans his IP subnet for active devices listening on the network,
    then sends these data using HTTP or HTTPS protocol to the server. The server ask this only if the
    computer is elected to run IPDISCOVERY (see
    Using IP discovery feature.)
  • Deploy a package: Agent contacts the deployment server using the HTTPS protocol to get the information file (file INFO which describes the package), downloads package fragments from the deployment server, rebuilds the package and launches it.

Since OCS Inventory Agent 2.6, it’s possible to deploy package greater than 4GB (only on 64-bit versions).
However, the deployment of such package may cause latency in machines on which it’s deployed.

Note: The OCS Inventory NG Agent does not listen on the network. It only initiates communications to the server, so you do not have to open inbound port on a personal firewall. However, you must allow outbound connections from OCS Inventory NG agent files "OCSInventory.exe" and "Download.exe" to the Communication Server or Deployment Server using either HTTP or HTTPS.

Each time an inventory is done, the Agent uses and writes configuration files stored into folder
“%ProgramData%OCS Inventory NGAgent”. This directory is usually

  • C:Documents and SettingsAll UsersApplication DataOCS Inventory NGAgent under Windows 2000, XP and 2003.
  • C:ProgramDataOCS Inventory NGAgent under Windows Vista, 2008, Seven and 2008 R2.

It uses at least the following files:

  • ocsinventory.ini: all configuration parameters for the agent (server address and credentials,
    proxy address and credentials, service properties…),
  • ocsinventory.dat: computer unique identity file, based on MAC address and hostname,
  • last_state: last inventory state, to detect changes between 2 inventory,
  • history: package deployment history,
  • All log files created by OCS Inventory NG Agent.

Note: YOU MUST STOP "OCS Inventory Service" to make changes on these files, because they are write protected while service is running. As is, only user having Administrator privileges can modify these files.

When launched for the first time, OCS Inventory NG agent will prompt user for the TAG value
(if this feature is enabled). Help text displayed in the dialog-box is the one you have entered
in Configuring management server. User may enter this value, or leave it blank (you will be able
to update this value through the Administration server).

Then (or otherwise if TAG feature is not enabled), it will do the inventory and send inventory
results to Communication server using HTTP or HTTPS.

Note: When the agent is first launched, it will only generate and send an inventory.

How does Windows service work?

Note: You must have Administrator privileges to set up OCS Inventory NG Agent as a service, or you may use OCS Inventory NG Packager to create an installer able to run even if user do not have Administrator privileges. Refer to
Uploading Agent for deployment through launcher “OcsLogon.exe”
or OCS Inventory NG Packager documentation.

  • OCS Inventory NG Agent “OCSInventory.exe” is launched by service “OcsService.exe” every PROLOG_FREQ hours.
    It keeps trace of the countdown in seconds in file “ocsinventory.ini” (value TTO_WAIT), so it is the time
    of EFFECTIVE run.
  • The number of hours to wait is randomized at install time and each time PROLOG_FREQ is changed in
    Administration Console.
  • It allows not having all agents contacting Communication Server at the same time. The randomization
    is between 0 and PROLOG_FREQ (10 hours by default). You can adjust these parameters considering your
    server load using Administration Console.

When service launch agent, it call without parameter, so agent uses parameters specified in file “ocsinventory.ini”.

As you can see, Service is only a launcher which will run Agent regularly, even if nobody logs in the computer.

Do I have to use service or standalone agent ?

  • You want to have computers inventoried, even if nobody log in ? Use Service version.
  • You want to use package deployment feature ? Use service version. As is, package will be downloaded
    in background, and logged in user can continue to work.
  • You do not want to set service up or have anything appears in the registry ? Use standalone version.
    However, deployment of package may take a long time when users log in.

In other words, we recommend using service version.

Manually installing OCS Inventory NG Agent for Windows.

Run “OCS-NG-Windows-Agent-Setup.exe” on client computer..

Icone installer Windows Agent

..and click “Next” button

Start Installation

Validate license agreement by clicking “I agree” button.

Accept Licence

Select the installation type you want:

  • Network inventory: Computer can reach OCS Inventory NG Server through the network, and so,
    Agent will be launched using either a Windows Service, or a Logon/GPO script.
  • Local inventory: Computer is not connected to a network, or will never be able to reach
    OCS Inventory NG Server. You can generate an inventory of this computer and save to file to be imported
    later on server (see chapter Generating inventory of a non network connected Windows computer below).

Choose components

Fill in OCS Inventory NG Communication server URL, like
http://your_ocs_server_address:your_server_port/ocsinventory
. You can also specify https if your server is SSL enabled to secure communication.
If you’ve protected your Communication Server access with credentials, you must specify credentials
agent will use to authenticate (these credentials will be encrypted to be stored into configuration file).
If you’re aware of server certificate validation when using HTTPS protocol, either for sending inventory
or deploying package, you can disable it. However, this is a security flaw! We do not recommend disabling
certificate validation because Agent does not authenticate server
. With certificate validation enabled,
you must specify path to Certificate Authority root certificate (default uses
«%ProgramData%OCS Inventory NGAgentcacert.pem»). Then click “Next” button.

Note: You can use self-signed certificate, but certificate CN must equal to server address used by agents for communications. Also, if full path to certificate is not provided, agent will try to load the specified file from its data folder "%ProgramData%OCS Inventory NGAgent".

Change properties

If needed, select proxy type to use to connect to Communication Server, proxy address and port, and
proxy credentials if required (these credentials will be encrypted to be stored into configuration file).
Agent support HTTP, SOCKS 4 and SOCKS 5 proxies.

Proxy Properties

By default, OCS Inventory Agent write only few information in log files. You may increase
this enabling “Verbose log”. You may also disable TAG question, or specify the TAG value. Last,
indicate which level of system integration you need:

  • Do not register service using LocalSystem account (i.e, use standalone agent, which must be launched manually or using login script).
  • Do not configure OCS Inventory NG Systray Applet to start automatically when user log in. This applet allows user to manually run agent, or to display inventory information. Disabling this option does not create shortcut link in «All users» startup menu.
  • Launch inventory just at the end of setup.

Windows Properties

By default, OCS Inventory agent use the WBEM_FLAG_RETURN_WBEM_COMPLETE flag WMI to retrieve its data. However in some cases, this can trigger additional queries to the domain controller.

With the 2.9.1.0 agent, there is the possibility to set the flag to two different mode :

  • WBEM_FLAG_RETURN_WBEM_COMPLETE
  • WBEM_FLAG_DIRECT_READ

The WBEM_FLAG_DIRECT_READ flag will only read WMI information present directly on the system and won’t trigger any query to the domain controller.

Please note the use of this flag will most likely result in information loss.

Possible agent configuration :

  • COMPLETE (default) : Allow full WMI query
  • READ : Read only WMI queries (might lead to inventory data loss)

The READ mode of the agent also comes with a DEFAULT_USER_DOMAIN configuration. Using the read flag will in most of the case make the agent unable to retrieve the current active directory domain user.

Setting DEFAULT_USER_DOMAIN will allow to set a default connected user.

Windows Properties

Choose destination folder, “C:Program FilesOCS Inventory Agent” by default
(“C:Program Files (x86)OCS Inventory Agent” under Windows 64 bits), and click “Install” button.

Install Location

Click “Finish” button to close OCS inventory NG Agent Setup.

End of the installation

This is the interactive installation setup. However, this process requires that you launch it under
all your computers. Hopefully, this installation can be scripted.

OCS Inventory NG Agent for Windows Setup command line options

Service Agent setup «OCS-NG-Windows-Agent-Setup.exe» may be called with some command line parameters:

  • /S to run the installer in silent mode, no interaction with user
  • /NOSPLASH disable splash screen when installer starts
  • /NO_SERVICE to not register OCS Inventory NG Agent into Windows Service Manager. Agent can only be launched manually or through a script/GPO.
  • /NO_SYSTRAY to not create a shortcut into «All Users» startup folder to start systray applet when user log in.
  • /NOW to launch inventory just after setup
  • /NOSOFTWARE to ignore software installed
  • /D to install ocsinventory agent in an another directory (default %PROGRAMFILES%ocs inventory agent)

Note: Please, don't use OCSPackager to upgrade OCS Inventory Windows Agent. Create deployement package with "OCS-NG-Windows-Agent-Setup.exe" on zip file and launch with command example : OCS-NG-Windows-Agent-Setup.exe /S /SERVER=ocs_server_address

Also, you can pass to the installer the following agent’s command line parameters
(see agent’s options below for more detail):

  • /SERVER=
  • /USER=
  • /PWD=
  • /SSL=
  • /CA=
  • /PROXY_TYPE=
  • /PROXY=
  • /PROXY_PORT=
  • /PROXY_USER=
  • /PROXY_PWD=
  • /DEBUG=
  • /NOTAG
  • /TAG=
  • /D=
  • /WMI_FLAG_MODE=
  • /DEFAULT_USER_DOMAIN=

Deploying or running Agent through Active Directory GPO

Note: We recommend using service version of Agent if you plan to use package deployment feature.

To deploy the agent using GPO we recommand you to create a standalone packager with all your configuration already provisionned. See using OCS Packager to create an all-in-one installer to setup agent and server certificate

After creating a packager, you will need to store it at a place where all your users have access to.

Then create a GPO that trigger on user login. You will have a create a script that call the packager executable and trigger the installation on the computer.

Here is a sample script:

@echo off

rem Script that call the packager executable on shared file system

rem Installing our packager
"myfileserver/my/path/packager.exe" 

Using PSEXEC or «OCS Inventory NG Agent Deployment Tool» to push OCS Inventory NG Agent

PSEXEC from Microsoft (
https://technet.microsoft.com/fr-fr/sysinternals/psexec
) is a great and fast way to install the OCS agents on all Windows computers, you can literally setup most
of your computers in a few hours (assuming they are all connected to the network, that is).

Note: We've created a graphical tool for Windows, OCS Inventory NG Agent Deployment Tool, which allows you to use PSEXEC more easily. It is able to push agent's installation on up to 10 computers simultaneously, and also to copy the certificate used to authenticate deployment server in OCS Inventory NG data folder.

Some tips:

PSEXEC is best used together with Domain Logon scripts or Active Directory GPO:

  1. Use the PSEXEC to install on all computers that are currently connected to the network
    (best used during business hours).
  2. Then add a logon script/GPO as described above to install on computers that were offline the next time
    they connect to the network.
  3. If you really don’t want to use logon script/GPO, you can create and monitor a response file to get
    a list of computers that were not deployed for any reason, and then rerun PSEXEC just for these computers.

PSEXEC Usage examples:

We assume that the agent setup file is called agentsetup.exe and it was placed on a shared folder accessible to all users.

  • Install silently on all computers currently logged in your domain:

      psexec \* -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on a single computer:

      psexec \COMPUTER_NAME -s \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on all computers using the domain administrator credentials:

      psexec \* -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    
  • Install silently on specific computers (ALL.TXT is a text file that lists target computer names, one per line), using domain administrator credentials:

      psexec @ALL.TXT -s -u DomainAdministrator -p Password \ServerNetLogonOCS-NG-Windows-Agent-Setup.exe /S /NOSPLASH /SERVER=http://my_ocs_server/ocsinventory
    

Generating inventory of a non network connected Windows computer

Run “OCS-NG-Windows-Agent-Setup.exe” on client computer, from an USB stick for example…

Icone installer Windows Agent

..and click “Next” button.

Start Installation

Validate license agreement by clicking “I agree” button.

Accept Licence

Select Local inventory installation type.

Choose components

By default, OCS Inventory Agent writes only few lines in the log files. You may increase this enabling
“Verbose log”. You may also specify the TAG value. Last, indicate the folder where you want to store
generated inventory file, your usb stick for example:

Choose folder

In local inventory mode, Agent will be installed into a temporary folder
(we recommend not changing this folder, it will be automatically deleted at the end of process),
Click “Install” button to start process. Agent is installed into temporary folder, launched to generate
a «.ocs» inventory file stored in the folder you’ve specified, and then removed from computer.

Install location

Click “Finish” button to close OCS inventory NG Agent Setup.

End of the installation

This is the interactive process, but it can be scripted using /LOCAL=path_to_folder_where_to_store_ocs_file
command line switch.

For example, you can use OCS-NG-Windows-Agent-Setup.exe /S /LOCAL=C: to silently generate
«.ocs» inventory file into folder c:.

Once you’ve transfered generated inventory file, you will be able to import it into the inventory
database of OCS Inventory NG Server, through the Administration Console.

OCS Inventory NG Agent for Windows command line options

OCS Inventory NG Agent version 2.0 or higher includes some command line switches to allow detecting errors.

Once agent is installed, you can run it manually to diagnose problems. Use “C:Program FilesOCS Inventory
AgentOCSInventory.exe [options]” command line where [options] may be in the following command line switches.

Command Line Options Meaning
/work_dir=»path to directory» Agent must use «path to directory» as working dir (this directory may included configuration file). Default is «%ALLUSERSPROFILE%Application DataOCS Inventory NGAgent» or «%PROGRAMDATA%OCS Inventory NGAgent»
/local[=»path to folder»] Agent do not contact communication server, and store inventory in xml compressed .ocs file into folder «path to folder». If no «path to folder» provided, agent assume folder as data folder
/debug[=level] Generate a very verbose log file «ocsinventory.log» into agent’s install folder.
0 => disable verbose logs (default)
1 => enable default verbose logs (default when no level provided provided)
2 => enable debuging logs
/notag Agent must NOT prompt user for TAG in any case
/tag=»my value» Agent must set «my value» as TAG value
/xml=[«path to folder»] Agent must store inventory in uncompressed xml format into folder «path to folder». If no «path to folder» provided, agent assume folder as data folder
/force Always send inventory, even if server do not ask for it (use only for debugging purpose !)
/ipdisc=»network number» Agent must launch IP discovery on network «network number» (use only for debugging purpose !)
/ipdisc_lat=»number of milliseconds» Set latency between 2 IP Discover requests to «number of milliseconds»
/fastip Never wait for latency between 2 IP Discover requests (use only for debugging purpose !)
/hkcu Search also for software under HKEY_CURRENT_USER registry hive (do not work with service as LocalSystem !)
/uid Agent must generate a new unique device ID
/server=http[s]://server.domain.tld[:port]/ocsinventory Agent try to connect to Communication Server address and port Listening on http[s]://server.domain.tld[:port]/ocsinventory
/ssl=0/1 When usng SSL connections:
0 => SSL without certificate validation
1 => SSL with server certificate validation required (needs CA certificate)
/ca=»path_to_cabundle.pem» Path to CA certificate chain file in PEM format, for server certificate validation
/user=username /pwd=password Communication Server authentication credentials
/proxy_type=0/1/2/3 Agent proxy
use 0 => no
1 => HTTP proxy
2 => Socks 4 proxy
3 => Socks 5 proxy
/proxy=proxy_address Proxy server address (without protocol !)
/proxy_port=port Proxy server port
/proxy_user=username Proxy authentication credentials
/proxy_pwd=password Proxy authentication credentials
/D=/ specify the directory where your want to install ocsinventory agent (default %PROGRAMFILES%ocs inventory agent)
/wmi_flag_mode=[COMPLETE/READ] WMI flag mode used by the agent
/default_user_domain=default.user Read only WMI queries (might lead to inventory data loss)

Sample configuration file «ocsinventory.ini»

[OCS Inventory Agent]
; OCS Inventory NG Agent features
; Enable debugging mode (0 => disabled, 1 => enabled, 2=> trace all)
Debug=1
; Enable local inventory mode (path to folder to store .ocs file => enabled,
; empty => disabled)
Local=
; Enable agent scanning HKEY_CURRENT_USER hive for printers and sofware
; (0 => disabled, 1 => enabled)
HKCU=0
; Disable prompting user for TAG value (0 => prompt allowed, 1 => disabled)
NoTAG=0
; Force agent launching IpDiscover on specified network (network address => enabled,
; empty disabled)
IpDisc=
; Which communication provider to use
; Name of communication DLL and configuration section to use
; DLL must be in "com" sub directory
ComProvider=ComHTTP.dll
; Behavior of WMI calls
; COMPLETE => Allow WMI full WMI queries
; READ => Not allow
WMI_FLAG_MODE=COMPLETE
; Read only WMI queries (might lead to inventory data loss)
DEFAULT_USER_DOMAIN=

[HTTP]
; OCS Inventory NG Communication Server address and port
; Listening on http[s]://server[:port]/ocsinventory
Server=http://localhost/ocsinventory
; Using SSL connections (0 => SSL without certificate validation,
; 1 => SSL with server certificate validation required)
SSL=0
; Path to CA certificate chain file in PEM format, for server certificate
; validation
CaBundle=D:DeveloppOCS Inventory NGcacert.pem
; Using authentication on Communication Server (0 => no, 1 => yes)
AuthRequired=0
; Communication Server authentication credentials (encrypted)
User=
Pwd=
; Using proxy (0 => no, 1 => HTTP proxy, 2 => Socks 4 proxy, 3 => Socks 5 proxy)
ProxyType=0
; Proxy address and port
Proxy=
ProxyPort=
; Using proxy authentication (0 => no, 1 => yes)
ProxyAuthRequired=
; Proxy authentication credentials (encrypted)
ProxyUser=
ProxyPwd=


[OCS Inventory Service]
; Time to wait in minutes before next agent start
TTO_WAIT=1020
; Number of hour between 2 agent runs
PROLOG_FREQ=5
; Old value of PROLOG_FREQ
OLD_PROLOG_FREQ=10

Uninstalling the agent

Starting the 2.10.0.0, the Windows agent add some housecleaning option on the uninstaller.

Note : The uninstaller is present in the installation directory of the agent (uninst.exe)

If you uninstall the agent manually, you’ll see a new window ask you if you desire to clean remaining agent files :
End of the installation

The agent provide three differents options in order to clean the configuration files and data files present on the %ProgramData% directory :

  • NONE (Doesn’t remove anything)
  • ONLY CONFIGURATION (Remove the ocsinventory.ini and the Download folder)
  • ALL FILES (Completely remove the OCS Inventory NG folder in %ProgramData%)

Note : If you choose the last option and reinstall the agent later, it’ll most likely lead to a duplicate in the webconsole since the agent will have to regenerate a deviceid (ocsinventory.dat)

You can also run the uninstaller programmatically with the /CLEAN option.
It can be useful if you plan a mass uninstallation of the agent.

By default, if you run .uninst.exe /S it won’t clean the files in the %ProgramData% directory.

In order to only clean the files (ONLY CONFIGURATION), you can use : .uninst.exe /S /CLEAN=FILES

To clean everything in the %ProgramData% directory (ALL FILES) : .uninst.exe /S /CLEAN=ALL

Using the portable agent

The portable agent can be used if you are looking for a way to run the agent as a one time thing, without any installation.

  • The «RunPortableAgent.bat» script needs to be modified : edit OCS_SERVER_URL and OCS_CLIENT_TAG if needed.

  • Execute this same script to launch an inventory. Once this is done, run the «CleanPortableAgent.bat» script to clear the system from any agent related files.

Command line options for the Windows agent are also available for the portable agent.

When using them, you won’t have to modify the script mentionned above, just navigate to the directory, edit the «ocsinventory.ini» file to configure the agent and launch «OCSInventory.exe» with any useful options.

Alternatively, you can provide configuration through the command line as well, and leave the .ini file as is.

Понравилась статья? Поделить с друзьями:
  • Ocr cuneiform для windows официальный сайт
  • Oceanis change background windows 7 oceanis change background windows 7
  • Nvscpapisvr exe что это за процесс windows 7
  • Nvscap dll либо не предназначен для выполнения под управлением windows
  • Nvr программа для ip камер windows