How about incorporating a piece of free software like Winaudit to do the audit and feed the information back to the fog database? [Sorry I realise this only works for PC’s running Windows but it is a start]
Winaudit [856K] can be deployed as a snapin to report on what you want and then save the results to wherever including server shares and databases.
The command syntax (all on one line) is:
[B]WinAudit.exe /h /r=gsoPxuTUeERNtnzDaIbMpmidcSArCHGBLJF /o=format [/B]
[B]/f=file /u=user /p=pwd /e=“extensions” /l=log_file /m=msg /L=Language /E=event_log[/B]
All switches are optional, if none are supplied the programme runs in Windows® mode. See [URL=‘http://fogproject.org/forum/#examples’][U][COLOR=#0000ff]examples[/COLOR][/U][/URL] below.
[B][COLOR=#ffffff]Switch[/COLOR][/B] [B][COLOR=#ffffff]Options[/COLOR][/B] [B][COLOR=#ffffff]Comment[/COLOR][/B]
/h Show a help message and exit.
/r Report content, default is [B][COLOR=#ff0000]NO[/COLOR][/B] sections, i.e. nothing is done.
[B]g[/B] Include System Overview
[B]s[/B] Include Installed Software
[B]o[/B] Include Operating System
[B]P[/B] Include Peripherals
[B]x[/B] Include Security
[B]u[/B] Include Groups and Users (Window® NT4 and above)
[B]T[/B] Include Scheduled Tasks
[B]U[/B] Include Uptime Statistics (Window® NT4 and above)
[B]e[/B] Include Error Logs (Window® NT4 and above)
[B]E[/B] Include Environment Variables
[B]R[/B] Include Regional Settings
[B]N[/B] Include Windows Network
[B]t[/B] Include Network TCP/IP
[B]n[/B] Include Network BIOS
[B]z[/B] Include Devices (Windows®98 and newer)
[B]D[/B] Include Display Capabilities
[B]a[/B] Include Display Adapters (Windows®98 and newer)
[B]I[/B] Include Installed Printers
[B]b[/B] Include BIOS Version
[B]M[/B] Include System Management
[B]p[/B] Include Processor
[B]m[/B] Include Memory
[B]i[/B] Include Physical Disks: [URL=‘http://fogproject.org/forum/hlp_idedisks.html’][U][COLOR=#0000ff]Caution[/COLOR][/U][/URL]
[B]d[/B] Include Drives
[B]c[/B] Include Communication Ports
[B]S[/B] Include Startup Programs
[B]A[/B] Include Services (Window® NT4 and above)
[B]r[/B] Include Running Programs
[B]C[/B] Include ODBC Information
[B]H[/B] Include Software Metering
[B]G[/B] Include User Logon Statistics
[B]B[/B] Include Loaded Modules
[B]L[/B] Include System Files
[B]J[/B] Include Non-Windows Executables
[B]F[/B] Include Find Files
/o Output format, if none is specified will default to formatted text (TEXT).
[B]CHM[/B] Save as compiled html.
Requires Html Help Workshop installed. The locations of hhc.exe and hha.dll must in the PATH environment variable.
[B]CSV[/B] Save as comma delimited
[B]HTML[/B] Save as a web page without images
[B]HTMLi[/B] Save as a web page with images
[B]ODBC[/B] Export to a database in columnar format
[B]ODBC2[/B] Export to a database in tabluar format
[B]PDF[/B] Save in portable document format
[B]TEXT[/B] Save as formatted text
[B]TEXTt[/B] Save as tab delimited text
[B]TEXTu[/B] Save as unicode text ( UTF-16, little endian)
[B]XML[/B] Save as extended markup language
/f Output file, data source name or database connection string.
The audit report will be saved to this file. The default is ‘computername.ext’. [B]macaddress[/B] is a reserved word (case insensitive). If specified, the output will be written to a file named using a Media Access Control (MAC) address. If no MAC address can be resolved, then the computer’s name will be used. On systems with multiple network adapters, the address of the first one discovered will be used.
If /o is specified as [B]ODBC[/B] supply a data source name (DSN) or a connection string. If neither is supplied the default is WinAuditDSN. If the DSN is a File DSN, supply its name only. It must have an extension of [B].dsn[/B] and be located in the user’s default DSN directory. If this directory is not specified in the registry, the File DSN must be in the [B]ODBC\Data Sources[/B] directory. If a connection string is supplied, it must have the ODBC keyword [B]DRIVER=[/B], no forward slashes and not end with .dsn .
If /o is specified as [B]ODBC2[/B] then you must supply a connection string. You can specify the credentials in either the connection string as UID= and PWD= or as the switches /u= and /p=. For the sake of brevity on the command line, default values for timeouts and error control are used.
/u User name for database login.
/p Password for database login or PDF protection. Embedding passwords in a batch file is, of course, questionable but the functionality is available for those who wish to use it.
/e Quoted list of file extensions to find on local hard drives. Separate each extension by a space.
/t Timeout in minutes for audit. The audit will automatically stop if it has been running for more than the specified number of minutes. If unspecified, the default is 20 minutes. If a timeout occurs then some or perhaps all data will be discarded.
/l The log file path to record diagnostic and activity messages. The log level is fixed at verbose and the output is tab separated machine readable.
If an empty path is specified i.e. ‘/l=’ then the destination will be computername_log.txt in the programme’s directory.
If only a directory is supplied e.g. ‘/l=\server\audits’ then the destination will be ‘\server\audits\computername_log.txt’.
To avoid concurrency issues, multiple machines cannot log to the same file.
/m The message displayed on the audit window. The user sees this window when the audit is running in command line mode. Try to keep this message brief as it must fit in the available space and still remain legible. The message does not need to be quoted. Avoid forward slashes ‘/’ as your message will not display correctly. If no message is supplied then a default one will be shown.
/L (Capital L) Set the language of strings used by the programme. By default the programme will use the language that matches the computer’s regional setting or English if no translation is available. You can override this behaviour by specifying which language to use as follows:
/L=be - French (Belgium)
/L=br - Portuguese (Brazilian)
/L=cs - Czech
/L=da - Danish
/L=de - German
/L=el - Greek
/L=en - English
/L=es - Spanish
/L=fr - French (France)
/L=he - Hebrew
/L=hu - Hungarian
/L=id - Indonesian
/L=it - Italian
/L=jp - Japanese (winauditu.exe only)
/L=ko - Korean (winauditu.exe only)
/L=nl - Dutch
/L=pl - Polish
/L=pt - Portuguese (Portugal)
/L=ru - Russian
/L=sr - Serbian(Latin)
/L=sk - Slovak
/L=th - Thai
/L=tr - Turkish
/L=zh_tw - Traditional Chinese (winauditu.exe only)
This can help to ensure consistent reporting in a multi-lingual environment. Note, only translated strings are handled; any specific number or date formatting is still done according to the computer’s regional setting. For CSV output, the programme will emit commas regardless of any regional setting. PDF document creation will use the code page associated with the specified language however, proper character translation is not guaranteed.
[B]WinAudit ANSI:[/B] Choosing a language which has a character set (code page) outside of the one a computer is using may give rise to undesired results. For example, German and Czech are from the Western and Central European character sets respectively. Character number 163 corresponds to the Japanese Yen sign in the former and a variant of the letter A in the latter. In general, characters used in the English language are common across all character sets so setting /L=en would probably give the most consistent results.
[B]WinAudit Unicode:[/B] Use this version in preference over the ANSI version if you are in an NT only environment. The Unicode version will automatically perform UTF-8 conversion of characters for HTML and XML output. Text files are saved in Unicode format (UTF-16 little endian) and database connectivity is via wide (2-byte) characters. Diagnostic logging will detect the log file’s encoding scheme. You should also be able to set a message (/m) and use file paths in Unicode.
/E (Capital E) The maximum number of unique error messages to display for a given event log. Permissible range is 1-99, if no value is supplied then the default is 25. These are reported in reverse chronological order with exact duplicates by description ignored. Note, only messages posted to an event log at a severity of ‘Error’ are reported. Processing will automatically stop after retrieval of 5000 entries of any severity level from the event log, regardless of the number of errors found.