OCS Inventory

From SME Server
Jump to navigationJump to search


Stéphane de Labrusse AKA Stephdl


Contrib 9:
The latest version of smeserver-ocsinventory is available in the SME repository, click on the version number(s) for more information.




yum install smeserver-ocsinventory --enablerepo=smedev,smetest,smecontribs


signal-event ocs-update
signal-event post-upgrade; signal-event reboot

Warning.png Warning:
You must issue first the ocs-update before post-upgrade and reboot


You must first enabled the Remi-ocsinventory repository, then

yum install smeserver-ocsinventory --enablerepo=remi-ocsinventory,smecontribs
signal-event ocs-update

or if you prefer to reboot your server, then do

signal-event post-upgrade; signal-event reboot

after this you can proceed to normal installation according to OCS Inventory#Importing ocsagent.exe in MySQL should go to http://YOURDOMAIN/ocs/install.php

just answer the questions, mysql database informations will already be there, you do not have to change them, as they were set.

then do the normal installation following go to http://YOURDOMAIN/ocs/index.php

do not forget to change the default username and password which are admin /admin

also do not forget to do :

rm -f  /usr/share/ocsinventory-reports/ocsreports/install.php

Special commands

To view OCS configuration, you can type the following at the prompt:

config show ocs

You can change a few parameters:

   DB parameter   |    Options   | Default | Explanation
# MaxUpload       | xM           | 100M    | Max uploadable file size
# InventoryAccess | local/global | global  | Accessibility of OCS Server (to receive inventories)
# InventoryDelay  | >1           | 600     | Time to wait (sec) to avoid server overload (Agent cron)
# URL             | new alias    |         | Optionnal aliases for ocs and glpi web interfaces

Client Installation

The client side is available on all platforms. Download the latest client version according to your OS.

After installing the Agent, you should launch it manually to upload your first inventory (as it's updated once per day by default)

While you are installing the agent, copy the cacert.pem file, see the SSL section below.

OCS Agent for SME Server

If you want to inventory other SME Servers (without installing the server-side and web interfaces)

for sme8

yum install ocsinventory-agent ocsinventory-ipdiscover --enablerepo=smetest,epel
Warning.png Warning:
this will issue a warning, which can be ignored, about : rpmts_HdrFromFdno: Entête V3 DSA signature: NOKEY, key ID 00f97f56

Public key for ocsinventory-ipdiscover-1.01-2.el5.remi.i386.rpm is not installed

for sme9

yum install ocsinventory-agent ocsinventory-ipdiscover --enablerepo=remi-ocsinventory

Then edit /etc/ocsinventory-agent/ocsinv.conf and modify following lines:


And finally launch the first inventory manually:

ocsinventory-agent -s yourdomain.com -t your_tag

OCS Agent for Windows

There are 2 differents ways of sending inventories on Windows. Download the latest client software, OCSNG_WIN32_AGENT_1.xx_repack.zip from ocs website. This archive contains 3 executables.

See Section 4.1 in the internal OCS help file.

Service use

Using OCS as a service is what you will probably need.

Launch the install of OcsAgentSetup.exe and provide default settings of the service. OCS-winagent-setup.png

Then launch the first inventory by typing the following in the 'execute box':

"C:\Program Files\OCS Inventory Agent\OCSInventory.exe" /server:yourdomain.com /np /debug /tag:your_tag

Wait a few seconds and go to http://your-server/ocs, you should see your computer's inventory.

By default, Agent will contact the Server once a day.

You can override this default behaviour in ocs web interface options. Your changes will be applied next time the Agent contacts the Server.

For troubleshooting, look at the log file in C:\Program Files\OCS Inventory Agent\COMPUTER_NAME.log

Standalone use

You can also make inventories on Windows without installing the service.

OCS standalone client is cut into 2 executables:

  • ocsagent.exe - This file contains all needed files for the launcher
  • OcsLogon.exe - This file is the standalone executable (launcher)

Of course, ocsagent.exe must be uncompressed before launching the standalone executable.

This can be done by executing directly ocsagent.exe: files will uncompress in c:\ocs-ng.

You can also import this file into ocs' MySQL database so that the standalone executable can download it if needed. This is documented in section MySQL importation.

The command line is the same as for the service:

"C:\Path_to_file\OcsLogon.exe" /server:yourdomain.com /np /debug /tag:your_tag

For easier and faster inventorying, you can also rename this standalone executable to your domain name (don't forget .exe):

"C:\Path_to_file\yourdomain.com.exe" /np /debug /tag:your_tag

For troubleshooting, look at the log file in C:\ocs-ng\COMPUTER_NAME.log

Importing ocsagent.exe in MySQL

The main advantage of this method is that you can send the standalone executable by Internet very quickly or even put the standalone executable on a floppy disk as it's only 65KB! How powerful looks your old floppy disk drive now?

This also allows to update files archived in ocsagent.exe on your clients (can be service or standalone executable).

A packager is available at ocs website. This will allow you to repackage ocsagent.exe with your own modifications (i.e. an SSL certificate!) OCS-packager.png

1st thing you need is to copy ocsagent.exe (modified or not) in /usr/share/ocsinventory-reports/ocsreports/files/.

Then, you can import this file in the database. Go to http://yourdomain.com/ocs/install.php

Use the pre-configured account 'ocs' for that: OCS-installphp.png

If you get a warning message (cannot alter database), refresh the page and you should see a successful import. OCS-installphp-ocsagent.png

ocsagent.exe is now in the database!

Warning.png Warning:
install.php has reset ocs password to 'ocs'. Re-apply your changes with following command:
signal-event domain-modify

This will also reset chmod to 440 on dbconfig.inc.php

You can now use OcsLogon.exe alone, it will download/update ocsagent.exe if needed!

If you want to remove ocsagent.exe from your database, simply delete the file from the server and redo install.php. This will delete the file from the database.

OCS Agent for Linux

Download the generic linux tar.gz, unpack, read the README, and as root, run the setup script.

You may required additional perl-packages, use your package management tools to search for the missing dependencies based on the README or the error messages. See Section 4.2 in the internal OCS help file.

To run an inventory

ocsinventory-client.pl -server=server.net -tag=network3

Check the time (will the PC be on) and command given in


OCS Inventory NG Usage

Full documentation can be found in the ocs help file, the help icon in ocs interface.


OCS Reports' web interface can be reached at http://your-server/ocs

Before login, please choose your language (flags on the top right corner) OCS login page.png
Login : admin
Password: admin

Warning.png Warning:
For security-reasons, change admin's password after your first login, top right icon next to logout!

Inventories can be done from WAN but the web interface is only available from inside your network for security reasons by default. See Sections 5 & 6 in the internal OCS help file for Reporting and Administration help.

IP discovery

IP discovery feature allow OCS Inventory NG to discover all network connected devices on the network. For this, Communication server asks a number of most “active” computers running OCS Inventory NG agent to scan for MAC addresses in their sub network at each run. See Section 7 in the internal OCS help file.

Modifying default behaviour

You may want to override the default IP Discovery behaviour.

To force a computer to ipdiscover, simply open its inventory. Click on Customization icon and update the ipdiscover behaviour. OCS-ipdiscover-step1.png

Now choose the IP of selected computer and save your changes. OCS-ipdiscover-step2.png

You should now see your modifications.

At this point, ipdiscover will run next time with the agent!

Manually launch the inventory to force ipdiscover or wait a day for the next inventory.

Adding networks and devices categories

Now click on Security and go to Config OCS-ipdiscover-step4.png

Add your own network/subnet. All fields are mandatory. OCS-ipdiscover-step5.png

We can also add categories. Let's do that! Click on 'Network devices types' OCS-ipdiscover-step6.png


Go back to Security and click on Network information. Now that your network is created, you should see ipdiscover working...

Click on non-inventoried devices. OCS-ipdiscover-step7.png

Now all you have to do is registering new devices! OCS-ipdiscover-step8.png


Deploying packages

OCS Inventory NG includes package deployment feature on client computers. From the central management server, you can upload packages which will be downloaded through HTTP/HTTPS and launched by agent on client computer. See Section 8 in the internal OCS help file.

This feature is LAN ONLY

SSL certificate

Deployment feature uses SSL to authenticate Agents.

To allow the Agent to authenticate with the Server, you need to copy the cacert.pem file in your agents' installation directory

This file is located in /home/e-smith/ssl.crt/

Using default cacert.pem

If the file /home/e-smith/ssl.crt/cacert.pem can not be found, the RPM install will create it by copying your original SME certificate into this file. This is a quick and a simple method.

Copy the cacert.pem file in your agents' installation directory. Skip to next section!

Using a custom certificate

If you've followed this howto to create a valid certificate, you can use this certificate with OCS Deployment feature.

Download cacert.org certificate with the following command:

wget http://www.cacert.org/certs/root.crt

And replace the old file with the following command:

cp root.crt /home/e-smith/ssl.crt/cacert.pem

Copy this file into your agents' installation directory.

Deployment menu

Open OCS' web interface and click on Deployment icon. OCS-deployment-menu.png

Building a deployment package

Deployment packages can be either .zip files (Windows) or tar.gz files (Linux).

Don't try to deploy other file type.

There are many options to deploy packages, for an overview see the ocs website for detail see section 8.3 of the help file, for Tips and tricks see Pablo Iranzo's site. OCS-buildpackage.png

After creating the deployment package, you should get this successful screen: OCS-success-build.png

Activating deployment packages

Once a package is added, you need to activate it. OCS-activate-package1.png

Provide paths to download folder. As this feature is LAN ONLY, provide internal name or IP address for both fields.

Be careful, this path will be resolved by the agent (value localhost forbidden here!)


Don't pay attention to the warning messages when activating, Just click Yes. OCS-activate-package3.png

You can also ignore any warning messages when deleting a package, the package is removed.

Activated deployment packages

Here you will be able to see activated packages... OCS-activated-package.png

Deploying your packages

All should be ready to go now!

The final step is to affect the created package to computers...

Here's a quick howto for deploying the package on a single computer.

To learn how to deploy on multiple computers, see section 8.5 of the help file.

Open the desired computer's inventory on click on Config icon and add a new package. OCS-deploy-single-pc1.png

You should see all activated packages, affect the one you want and confirm changes. OCS-deploy-single-pc2.png

Back at Config page, you should now see affected packages and their states. OCS-deploy-single-pc3.png

Next time the Agent contacts the server, it is notified of the package, and sometime later should be deployed! As usual, you can manually launch the agent to force the update.

See section 8.1 of the help file to understand how download works.