opsi manual opsi version 4.0.2 - opsi Download - uib
opsi manual opsi version 4.0.2 - opsi Download - uib
opsi manual opsi version 4.0.2 - opsi Download - uib
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>opsi</strong> <strong>manual</strong> <strong>opsi</strong> <strong>version</strong> <strong>4.0.2</strong><br />
{<br />
"Class": {<br />
"Type": "STRUCTURAL",<br />
"Super": [ "HARDWARE_DEVICE" ],<br />
"Opsi": "COMPUTER_SYSTEM",<br />
"WMI": "select * from Win32_ComputerSystem",<br />
"Linux":<br />
},<br />
"Values": [<br />
{<br />
"[lshw]system"<br />
"Type": "varchar(100)",<br />
"Scope": "i",<br />
"Opsi": "name",<br />
"WMI": "Name",<br />
"Linux": "id"<br />
},<br />
{<br />
"Type": "varchar(50)",<br />
"Scope": "i",<br />
"Opsi": "systemType",<br />
"WMI": "SystemType",<br />
"Linux": "configuration/chassis"<br />
},<br />
{<br />
"Type": "bigint",<br />
"Scope": "i",<br />
"Opsi": "totalPhysicalMemory",<br />
"WMI": "TotalPhysicalMemory",<br />
"Linux": "core/memory/size",<br />
"Unit": "Byte"<br />
},<br />
{<br />
"Type": "varchar(50)",<br />
"Scope": "i",<br />
"Opsi": "dellexpresscode",<br />
"Condition": "vendor=[dD]ell*",<br />
"Cmd": "#dellexpresscode\dellexpresscode.exe#.split(’=’)[1]",<br />
"Python": "str(int(#{’COMPUTER_SYSTEM’:’serialNumber’,’CHASSIS’:’serialNumber’}#,36))"<br />
}<br />
]<br />
},<br />
90 / 193<br />
Regarding the "WMI" commands, the class definition contains "select * from Win32_ComputerSystem". This command<br />
is run by WMI, which has output columns of "Name", "SystemType", and "TotalPhysicalMemory". These values<br />
are then assigned to the <strong>opsi</strong> values of "name", "systemType", and "totalPhysicalMemory".<br />
Especially interesting is here the last value "dellexpresscode":<br />
This is really useful when it questions a Dell-computer, about its condition.<br />
The command line program dellexpresscode.exe was designed for Windows, and tells hwaudit.exe that the dellexpresscode<br />
is provided in the directory dellexpresscode\. Items in between # are place holders for output. So<br />
the statement at "dellexpresscode\dellexpresscode.exe" runs dellexpresscode.exe, and produces output in the form<br />
: dellexpresscode=123456789. The value that will be used is the one after the split on the place holder =, which is<br />
done in Python using the split() method as such .split(’=’)[1] . Under Linux, there will be found a value for<br />
serialNumber for the elements (COMPUTER_SYSTEM or CHASSIS), that is then used to assign the Dell Express<br />
codes. The call int(,36) converts the output integer to base-36.<br />
The OPSI names of the values will be translated using the files found in /etc/<strong>opsi</strong>/hwaudit/locales/*. The file<br />
/etc/<strong>opsi</strong>/hwaudit/locales/en_US may contain translations such as:<br />
COMPUTER_SYSTEM = Computer<br />
COMPUTER_SYSTEM. systemType = Type<br />
The class name COMPUTER_SYSTEM will be translated into "Computer". The Opsi attribute "systemType"<br />
of the class COMPUTER_SYSTEM will be translated into "Type" for English. If one were to look in the file