Translations of this page:

Osmius

Osmius agent for Windows using WMI windows_logo.jpg
Agent name: osm_ag_WINDOWS2 Agent code: WINDOWS2
Subject: WMI able Windows platforms Osmius agent User Manual
Date: 03/09/2009 Revision date: / /

General Information

This agent can monitor several parameters of Windows platforms using WMI. It has been tested on Windows XP SP2, Windows Vista Home and Windows 2003 Server. However, we recommend checking its functionality before implanting it in a production environment.

Windows via WMI agent has been developed using functionalities and enhancements of Osmius framework and ACE libraries, so it is necessary to install the ACE libraries for the proper deployment and operation of this agent. See chapter: installation.

WINDOWS2 agent provides up to 20 basic events with configuration parameters to allow scaling of a very simple way, in addition 10 informative events provides details of the monitored system. Events have been selected by the Research and Development Osmius Team as the most interesting for this first development.

Events are based on WQL statements, so local and remote monitoring is possible.

HEYYY!!: As shown in official Microsoft doc http://msdn.microsoft.com/en-us/library/aa393720%28VS.85%29.aspx
The connection timeout can not be changed and can reach up to 120 seconds (2 minutes). This means that,
if there is no availability of the instance there may be some latency in the # appearance of
Osmius critical events in the web console and as standalone mode, due to it is a external Osmius limitation.

Windows WMI instance

As a general rule each Osmius agent can monitor one instance type. If you are not familiar with these concepts check out the glossary. Each instance is individually defined in the configuration file (if you want further information go to agents and instances); depending on agent type is the instance type and depending on instance is the connection info.

CONNECTION_INFO

The connection information or connection_info is data that the agent needs to know to connect to the instance. (See more about the connection_info)

In Windows using WMI case, the connection_info prototype would be:

CONNECTION_INFO= -h HOST -d DOMAIN -u USER -p PASSWORD

Replace the following:

  • HOST: WMI able Windows platforms host name or IP address you want to monitor. Optional. Firewall settings instructions
  • DOMAIN: Domain name or Work Group. Mandatory if host is declared.
  • USER: WMI querying privileged user. Mandatory if host is declared. User permissions settings instructions
  • PASSWORD: User's password. Mandatory if host is declared.

For local monitoring (monitoring the system where the agent is installed) connection_info must be empty, because we don't need connect anywhere.

Examples:

CONNECTION_INFO= -h 192.168.1.1 -d WORKGROUP -u admin -p pass
CONNECTION_INFO=

TYPE

The type defines the instance type to be monitored. Every declared instance must be associated with a type as you can see here

In this case:

TYPE= WINDOWS2

Event summary table for Windows2

Here is briefly the capabilities of this agent, further down on this page each event is described in more detail.

EVENT DESCRIPTION c w a tseconds Extra parameters / Remarks
WIUPTIME Uptime in seconds 1 300 300 600 Silent mode ( -s) recommmended
WIPRCCPU CPU load percentage 0 85 95 300 Interesant parameter to capacity plannings
WINUMCPU Detected CPUs 1 1 1 86400 Silent mode ( -s) recommmended
WIPRCMEM Memory usage percentage 0 80 90 300 Interesant parameter to capacity plannings
WIFREMEM Free memory measured in MB 1 256 128 300 Interesant parameter to capacity plannings
WIKBSI01 Download speed (KB/s) per connection 0 1024 2048 600 Silent mode ( -s) recommmended
You can define from WIKBSI00 to WIKBSI03 (4 events)
-L “network connection name”
Example: -L “Local Area Network”
WIKBSO01 Upload speed (KB/s) per connection 0 1024 2048 600 Silent mode ( -s) recommmended
You can define from WIKBSO00 from WIKBSO03 (4 events)
-L “network connection name”
Example: -L “Local Area Network 2”
WIPRCFS1 Used space percentage on a disk 0 70 90 600 Silent mode ( -s) recommmended
You can define from WIPRCFS0 to WIPRCFS3 (4 events)
-F “device name”
Example: -F “c”
WIFREFS1 Disk free space measured in MB 1 300 100 600 Silent mode ( -s) recommmended
You can define from WIFREFS0 to WIFREFS3 (4 events)
-F “device name”
Example: -F “c”
WINUMPRC Running processes counter 0 Administrator Administrator 600 Silent mode ( -s) recommmended
WIUPPR01 Process running state checker 1 0 0 30 Silent mode ( -s) recommmended
You can define from WIUPPR00 to WIUPPR03 (4 events)
-L “process_name.exe”
WICNPR01 Process instances counter 0 5 10 300 Silent mode ( -s) recommmended
You can define from WICNPR00 to WICNPR03 (4 events)
-L “process_name.exe”
WIUPSR01 Service running state checker 1 0 0 300 Silent mode ( -s) recommmended
You can define from WIUPSR00 to WIUPSR03 (4 events)
-L “ServiceName”
WIFREEVM Free virtual memory measured in MB 1 500 250 300 Interesant parameter to capacity plannings
WIPERCVM Used virtual memory percentage 0 75 90 300 Interesant parameter to capacity plannings
WIMEMP01 Memory per process measured in KB 0 5120 10240 30 Silent mode ( -s) recommmended
You can define from WIMEMP00 to WIMEMP03 (4 events)
-L “process_name.exe”
WICPUP01 CPU percentage per process 0 5 15 30 Silent mode ( -s) recommmended
You can define from WICPUP00 to WICPUP03 (4 events)
-L “process_name.exe”
WIELOG01 Windows System Event checker
Count events that match with user defined parameters
0 1 5 600 Silent mode ( -s) recommmended
You can define from WIELOG00 to WIELOG03 (4 events)
-E error_code1) [-L “Log_name”2)] [-N “EventSource”]3)
Example: -E 2 -L “System” -N “Win32_Time”
WICUST01 Customizable WMI Query 1 0 0 300 Silent mode ( -s) recommmended
You can define from WICUST00 to WICUST03 (4 events)
-Q “WQL” -P “property_name” [-F “expected_text”]
Example: -Q “SELECT * FROM Win32_Battery” -P “Status” -F “BAD”

Information Events

Info events retieve general data about instance, usually this data doesn't change over time. This kind of events have no severity, simply provides instance details.

EVENT DESCRIPTION tseconds Remarks
WIINFHST Host name 86400 (1 day) Network device unique name
WIINFMEM Memory measured in Bytes 86400 (1 day) RAM memory
WIINFMAN Manufacturer 86400 (1 day) System manufacturer
WIINFMOD Model 86400 (1 day) System model
WIINFOWN Owner 86400 (1 day) Registered owner
WIINFSYS System 86400 (1 day) System information
WIINFCPU Processor 86400 (1 day) Processors information
WIINFBIO BIOS 86400 (1 day) BIOS version
WIINFVID Video device 86400 (1 day) Video device information
WIINFOPS Operating system 86400 (1 day) Operating system information

WINDOWS2 agent events

WIUPTIME

WIUPTIME event retuns the time measured in seconds since the last Windows operating system boot or reboot.

Return values:

VALUE MEANING
-1 Error
X Uptime in seconds

Recommended parameters:

Comparison type Inverse. The higher value the lower severity (-c 1)
Monitoring interval 300 seconds – 1 hour –> depends on instance importance
Warning threshold Consult on Windows administrator
Alert threshold Consult on Windows administrator

Parameter setting example:

WIUPTIME = -t 300 -c 1 -w 600 -a 300 -T "Windows uptime"

Remarks: The event text will show human readable format: [X] days [Y] hours [Z] minutes.

WIPRCCPU

WIPRCCPU retuns CPU overall load percentage.

Return values:

VALUE MEANING
-1 Error
0 - 100 CPU load %

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 90 - Depends on system load
Alert threshold 95 - Depends on system load

Parameter setting example:

WIPRCCPU = -t 300 -c 0 -w 85 -a 95 -T "CPU consumption"

Remarks: None

WINUMCPU

WINUMCPU event returns number of detected CPUs.

Return values:

VALUE MEANING
-1 Error
X Detected CPUs

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 1 week – 1 month or never –> depends on instance importance
Warning threshold Consult on Windows administrator
Alert threshold Consult on Windows administrator

Parameter setting example:

WINUMCPU = -t 604800 -c 1 -w 23 -a 12 -T "Num. CPUS"

Remarks: This event reads an environment variable using WMI functions.

WIPRCMEM

WIPRCMEM returns overall memory consumption percentage.

Return values:

VALUE MEANING
-1 Error
0 - 100 % memory usage

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Depends on system load
Alert threshold Depends on system load

Parameter setting example:

WIPRCMEM = -t 300 -c 0 -w 60 -a 75 -T "% memory use"

Remarks: None

WIFREMEM

WIFREMEM returns free RAM memory measured in MB.

Return values:

VALUE MEANING
-1 Error
X MB of free RAM memory

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Depends on system load
Alert threshold Depends on system load

Parameter setting example:

WIFREMEM = -t 300 -c 1 -w 300 -a 100 -T "MB free mem"

Remarks: None

WIKBSI01

WIKBSI01 event computes network download (IN) speed per Windows network connection.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “Windows network connection name”. Yes

Return values:

VALUE MEANING
-1 Error
X Download speed (KB/s)

Recommended parameters:

Comparison type Depends on desired monitoring (-c 0 or -c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold X - Consult on Windows administrator or provider
Alert threshold Y - Consult on Windows administrator or provider

Parameter setting example:

WIKBSI01 = -t 300 -c 0 -w 1024 -a 2048 -L "Local Area Network" -T "Windows download speed"

Remarks: Average values of the download speed are not made, this event works with instantaneous values taken at the last second of the monitoring interval.

WIKBSO01

WIKBSO01 event computes network upload (OUT) speed per Windows network connection.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “Windows network connection name”. Yes

Return values:

VALUE MEANING
-1 Error
X Upload speed (KB/s)

Recommended parameters:

Comparison type Depends on desired monitoring (-c 0 or -c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold X - Consult on Windows administrator or provider
Alert threshold Y - Consult on Windows administrator or provider

Parameter setting example:

WIKBSO01 = -t 300 -c 0 -w 512 -a 256 -L "Local Area Network 2" -T "Windows upload speed"

Remarks: Average values of the upload speed are not made, this event works with instantaneous values taken at the last second of the monitoring interval.

WIPRCFS1

WIPRCFS1 event returns used space porcentage on ALL system hard drives.

Extra parameters:
This event has an optional parameter to monitor only one disk:

PARAMETER MEANING Mandatory
-F -F “disk_drive”
Example: -F “c”
No

Return values:

VALUE MEANING
-1 Error
0 - 100 % used disk

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 75
Alert threshold 90

Parameter setting example:

WIPRCFS1 = -t 600 -c 0 -w 80 -a 90 -F "c"

Remarks:

WIFREFS1

WIFREFS1 event returns ALL hard disks free space measured in MB.

Extra parameters:
This event has an optional parameter to measure only one disk:

PARAMETER MEANING Mandatory
-F -F “disk_drive”
Example: -F “c”
No

Return values:

VALUE MEANING
-1 Error
X free MB

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 300
Alert threshold 100

Parameter setting example:

WIFREFS1 = -t 600 -c 1 -w 600 -a 100 -F "c"

Remarks:

WINUMPRC

WINUMPRC event returns number of running processes on the Windows system.

Return values:

VALUE MEANING
-1 Error
X Number of processes

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Consult on Windows administrator
Alert threshold Consult on Windows administrator

Parameter setting example:

WINUMPRC = -t 300 -c 0 -w 300 -a 320 -T "Total processes"

Remarks:

WIUPPR01

WIUPPR01 event checks if a process is running.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “process_name_to_monitor”
-L “process_name.exe”
Yes

Return values:

VALUE MEANING
-1 Error
0 Not running
1 Running

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 0
Alert threshold 0

Parameter setting example:

WIUPPR01 = -t 600 -c 1 -w 0 -a 0 -L "osm_master_agent.exe"

Remarks: None

WICNPR01

WICNPR01 event counts process instances, times that a process is executed simultaneously.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “process_name_to_monitor”
-L “process_name.exe”
Yes

Return values:

VALUE MEANING
-1 Error
X Process instances counting

Recommended parameters:

Comparison type Depends on desired monitoring (-c 0 or -c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Consult on administrator
Alert threshold Consult on administrator

Parameter setting example:

WICNPR01 = -t 600 -c 0 -w 2 -a 2 -L "osm_master_agent.exe"

Remarks: None

WIUPSR01

WIUPSR01 event checks if a windows service is at “running” state.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “ServiceNameToMonitor”
-L “ServiceName”
Yes

Return values:

VALUE MEANING
-1 Error
0 Not running
1 Running

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 0
Alert threshold 0

Parameter setting example:

WIUPSR01 = -t 600 -c 1 -w 0 -a 0 -L "ServiceName"

Remarks: None

WIFREEVM

WIFREEVM event returns free virtual memory measured in MB.

Return values:

VALUE MEANING
-1 Error
X Free Virtual Memory (MB)

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Depends on system load
Alert threshold Depends on system load

Parameter setting example:

WIFREEVM = -t 300 -c 1 -w 300 -a 100 -T "MB free virtual memory"

Remarks: None

WIPERCVM

WIPERCVM returns used virtual memory percentage.

Return values:

VALUE MEANING
-1 Error
0 - 100 % virtual memory in use

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold Depends on system load
Alert threshold Depends on system load

Parameter setting example:

WIPERCVM = -t 300 -c 0 -w 50 -a 75 -T "% vmem used"

Remarks: None

WIMEMP01

WIMEMP01 event returns used memory per process measured in KB.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “process_name.exe”. Yes

Return values:

VALUE MEANING
-1 Error
X Memory (KB) used per process

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold X - Consult on Windows administrator or provider
Alert threshold Y - Consult on Windows administrator or provider

Parameter setting example:

WIMEMP01 = -t 300 -c 0 -w 1024 -a 2048 -L "process1.exe" -T "used KB of memory"

Remarks: None

WICPUP01

WICPUP01 returns CPU use percentage per process.

Extra parameters:
This event need an extra parameter to work:

PARAMETER MEANING Mandatory
-L -L “process_name.exe”. Yes

Return values:

VALUE MEANING
-1 Error
0-100 CPU used percentage per process

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold X - Consult on Windows administrator or provider
Alert threshold Y - Consult on Windows administrator or provider

Parameter setting example:

WICPUP01 = -t 300 -c 0 -w 5 -a 15 -L "process1.exe" -T "% cpu per process"

Remarks: None

WIELOG01

WIELOG01 event looks for Windows events in EventLog using user defined parameters. It returns the number of matches.

Extra parameters:
This event need extra parameters to work:

PARAMETER MEANING Mandatory
-E -E “ErrorType” - Integer value that defines error type.
1: ERROR
2: WARNING
3: INFORMATION
4: AUDIT ACCES SUCESS
5: AUDIT ACCES FAILURE
Each error type includes the previous one, for instance 3 includes 3, 2 and 1
Yes
-L -L “LogFileName” - You can define target log. No
-S -S “SourceName” - You can define event source. No

Return values:

VALUE MEANING
-1 Error
X Matching counter

Recommended parameters:

Comparison type Direct. The higher value the higher severity (-c 0)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold X
Alert threshold Y

Parameter setting example:

WIELOG01 = -t 300 -c 0 -w 1 -a 1 -T "Error in W32Time" -L "System" -N "W32Time" -E 1

Remarks: The first time you run the event a global search is conducted (first to last event), the following times only look at events younger than the seconds set by the -t parameter. \ \ You may declare from WIELOG00 to WIELOG03, this is 4 events of this type.

WICUST01

WICUST01 event executes a user defined WMI query.

Extra parameters:
This event need extra parameters to work:

PARAMETER MEANING Mandatory
-Q -Q “WQL Query” - User defined query. Yes
-P -P “PropertyName” - WMI property name to retrieve Yes
-F -F “Expected text” - You can define a string that will be compared with result. If it matches the value is 1 if no value is 0. No

Return values:

VALUE MEANING
-1 Error
1 Matching or normal wmi query
0 No matches

Recommended parameters:

Comparison type Inverse. The lower value the higher severity (-c 1)
Monitoring interval 60 seconds – 1 hour –> depends on instance importance
Warning threshold 0
Alert threshold 0

Parameter setting example:

WIELOG01 = -t 300 -c 1 -w 0 -a 0 -T "Custom query" -Q "SELECT * FROM Win32_Battery" -P "Status" -F "BAD"

Remarks: None

Windows WMI prerequisites

In order to compile, this agent requires a set of prerequisites, which are generic to compile any Osmius agent, you can see these prerequisites.

Please, check that your system is WMI able.

Windows WMI makefiles and compilation

  • Make Project Creator (MPC) is used by Osmius, so creating Makefiles is a trivial task. If you want to learn more about MPC and Osmius check out the section of Makefiles on Osmius.
  • For Windows WMI, using Windows and Visual C 8 you can generate Makefile in this way:

From the agent directory using console or terminal.

%ACE_ROOT%\bin\mpc.pl -type vc8 osm_ag_winwmi.mpc
  • Now that you have created the Makefile, agent compiling is extremely simple.
Open Osm_Ag_Windows_Osmius.vcproj with Visual C.
Select Rebuild option to compile.

Binaries are automatically installed in the bin directory of OSM_ROOT base directory.

Run Windows WMI agent

Windows WMI agent have the same running features of the other Osmius agents. You can check it out int he section Start and Stop Agents.

To execute Windows WMI agent without Osmius web console:

osm_ag_WINDOWS2.exe -c osm_ag_WINDOWS2.ini -m MASTERAG -p 1950 -d » [>> osm_ag_winwmi.log]4)

Running in standalone mode

Windows WMI agent, like the others Osmius agents, allows the execution in standalone mode. This option may be particularly useful when developing a new agent or to perform specific agent tests.

Basically you have to add a new value, called SNDCMD, to Windows WMI Osmius agent configuration file (osm_ag_WINDOWS2.ini) as shown here.

Then you have to run Windows WMI agent setting Master Agent communications port to zero, for example:

osm_ag_WINDOWS2.exe -c osm_ag_WINDOWS2.ini -m 00000000 -p 0 -d

Tests list

Test performed to Windows WMI Osmius agent.

Date: / /
Test Result Remarks
Creating an instance with all its events in silent mode - -
Creating an instance with all its events with custom text - -
Creating an instance with all its events but no custom text - -
Declaración de 3 instancias con todos sus eventos a 5 seconds y mantenerlo
running for 48 hours
- -
Declare 2 instances, cause a disconnect and then reconnect- -
Declare 1 instance and test each event - -
Elimination of general parameter and check unbootable - -
Elimination of instance CONN_INFO and check unbootable - -

APPENDIX

User permissions settings

To set up an user to access WMI without adding the user to an Administrative group, follow the next steps.

  1. Click Start, click Run, type wmimgmt.msc in the Open box, and then click OK.
  2. Right-click WMI Control, and then click Properties.
  3. Click the Security tab.
  4. Expand the Root folder, select the CIMV2 folder, and then click Security.
  5. Click Add. Type the user name you wish to use in the Enter the object names to select box, click Check Names to verify your entry or entries, and then click OK.
  6. In the Permissions for User list, click the Allow check box next to the following permissions:
    1. Execute Methods
    2. Enable Account
    3. Remote Enable
    4. Read Security
  7. Click Advanced. In the Permission entries list, select the user you added in step 5, and then click Edit.
  8. In the Apply onto box, click This namespace and subnamespaces.
  9. Click OK three times.
  10. Quit the WMI Control snap-in.
  11. Click Start, click Run, type dcomcnfg.exe in the Open box, and then click OK.
  12. Select Component Services and then expand it. Then expand Computers. Right-click My Computer and select Properties.
  13. Select the COM Security tab.
  14. In the Access Permissions section, click Edit Limits….
  15. Click Add. Type the user name you wish to use in the Enter the object names to select box, click Check Names to verify your entry or entries, and then click OK.
  16. In the Permissions for User list, click the Allow check box next to the following permissions:
    1. Local Access
    2. Remote Access
    3. Click OK.
  17. In the Launch and Activation Permissions section, click Edit Limits….
  18. Click Add. Type the user name you wish to use in the Enter the object names to select box, click Check Names to verify your entry or entries, and then click OK.
  19. In the Permissions for User list, click the Allow check box next to the following permissions:
    1. Local Launch
    2. Remote Launch
    3. Local Activation
    4. Remote Activation
    5. Click OK twice.
  20. Expand My Computer and expand DCOM Config.
  21. Right-click Windows Management and Instrumentation and click Properties.
  22. Click the Security tab.
  23. In the Access Permissions section, click Edit….
  24. Click Add. Type the user name you wish to use in the Enter the object names to select box, click Check Names to verify your entry or entries, and then click OK.
  25. In the Permissions for User list, click the Allow check box next to the following permissions:
    1. Local Access
    2. Remote Access
    3. Click OK twice.
  26. Quit the Component Services snap-in.
  27. Restart the target computer.

Firewall settings

To enable or disable WMI traffic using Windows firewall user interface

  1. Control Panel - Security - Windows Firewall.
  2. Click Change Settings and then click the Exceptions tab.
  3. In the Exceptions window, select the check box for Windows Management Instrumentation (WMI) to enable WMI traffic through the firewall.


You can do it at the command prompt.

  1. To enable WMI traffic through the Windows firewall.
    • netsh advfirewall firewall set rule group=“windows management instrumentation (wmi)” new enable=yes
  2. To disable WMI traffic through the Windows firewall.
    • netsh advfirewall firewall set rule group=“windows management instrumentation (wmi)” new enable=no


If you have another firewall other than Windows, is good to know that DCOM communications (used by WMI) are usually made using port 135.

1) Codes:
1 = Error
2 = Warning
3 = Information
4 = Security Audit Success
5 = Security Audit Failure
2) Commonly:
- Application
- Security
-System
3) Name of the event source
Examples:
- DCOM
- Win32Time
4) Optional, to store agent messages in a file
 
en/agentes/windows2.txt · Last modified: 2013/07/08 12:27 by osmius
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki