WmiInspector plug-in: Difference between revisions

From NSIS Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 16: Line 16:
== Command line ==
== Command line ==


Plug-in DLL functions (entry points): Request, OS, OSVersion, FullOS, AntiVirus, FireWall, CPU, Resolution
Plug-in DLL functions (entry points): Request, OS, OSVersion, FullOS, AntiVirus, FireWall, CPU, Resolution, SQLVersion, FullSQLVersion


=== Request DLL Function ===
=== Request DLL Function ===
Line 95: Line 95:


This function is a combination of several '''''WmiInspector::Request "CIMV2" "Win32_Win32_DesktopMonitor" "Xxx"''''' calls.
This function is a combination of several '''''WmiInspector::Request "CIMV2" "Win32_Win32_DesktopMonitor" "Xxx"''''' calls.
=== SQLVersion DLL Function ===
<highlight-nsis>
WmiInspector::SQLVersion
</highlight-nsis>
If successful, this call returns "OK" string and SQL version number, "error" and error description string otherwise.
This function is merely equivalent to '''''WmiInspector::Request "Microsoft\\SqlServer\\ComputerManagement" "SqlServiceAdvancedProperty" "PropertyStrValue"''''' with WHERE clause equal to SQLServiceType = 1 AND PropertyName = 'SKUNAME'.
These values are fixed and can't be changed for now so you can't use Request.
=== FullSQLVersion DLL Function ===
<highlight-nsis>
WmiInspector::FullSQLVersion
</highlight-nsis>
If successful, this call returns "OK" string and full SQL Server informations (including version number, service pack and edition name), "error" and error description string otherwise.
This function is a combination of several '''''WmiInspector::Request "Microsoft\\SqlServer\\ComputerManagement" "Win32_SqlServiceAdvancedProperty" "Xxx"''''' calls.


== Examples ==
== Examples ==

Revision as of 13:05, 6 May 2008

Author: L0k1 (talk, contrib)


Links

Download:
WmiInspector.zip (77 KB)

Forum thread

Description

This plugin sends request to the system using MS WMI API and returns the value on the stack. Plugin first returns "OK" if successfull, "error" if failed then the requested value or the error description.

Rem: An empty string might be returned as a result for the requested value. This doesn't mean that an error occurs but that there's not information for this value. See Antivirus exemple.

Command line

Plug-in DLL functions (entry points): Request, OS, OSVersion, FullOS, AntiVirus, FireWall, CPU, Resolution, SQLVersion, FullSQLVersion

Request DLL Function

WmiInspector::Request DomainName TableName ValueName

If successful, this call returns "OK" string and value, "error" and error description string otherwise.

OS DLL Function

WmiInspector::OS

If successful, this call returns "OK" string and OS caption, "error" and error description string otherwise.

This function is equivalent to WmiInspector::Request "CIMV2" "Win32_OperatingSystem" "Caption".

OSVersion DLL Function

WmiInspector::OSVersion

If successful, this call returns "OK" string and OS version number, "error" and error description string otherwise.

This function is equivalent to WmiInspector::Request "CIMV2" "Win32_OperatingSystem" "Version".

FullOS DLL Function

WmiInspector::FullOS

If successful, this call returns "OK" string and full OS informations (including version number and service pack), "error" and error description string otherwise.

This function is a combination of several WmiInspector::Request "CIMV2" "Win32_OperatingSystem" "Xxx" calls.

AntiVirus DLL Function

WmiInspector::AntiVirus

If successful, this call returns "OK" string and installed antivirus name, "error" and error description string otherwise.

This function is equivalent to WmiInspector::Request "SecurityCenter" "AntiVirusProduct" "DisplayName".

FireWall DLL Function

WmiInspector::FireWall

If successful, this call returns "OK" string and installed firewallname, "error" and error description string otherwise.

This function is equivalent to WmiInspector::Request "SecurityCenter" "FirewallProduct" "DisplayName".

CPU DLL Function

WmiInspector::CPU

If successful, this call returns "OK" string and CPU name, "error" and error description string otherwise.

This function is equivalent to WmiInspector::Request "CIMV2" "Win32_Processor" "Caption".

Resolution DLL Function

WmiInspector::Resolution

If successful, this call returns "OK" string and desktop resolution, "error" and error description string otherwise.

This function is a combination of several WmiInspector::Request "CIMV2" "Win32_Win32_DesktopMonitor" "Xxx" calls.

SQLVersion DLL Function

WmiInspector::SQLVersion

If successful, this call returns "OK" string and SQL version number, "error" and error description string otherwise.

This function is merely equivalent to WmiInspector::Request "Microsoft\\SqlServer\\ComputerManagement" "SqlServiceAdvancedProperty" "PropertyStrValue" with WHERE clause equal to SQLServiceType = 1 AND PropertyName = 'SKUNAME'. These values are fixed and can't be changed for now so you can't use Request.

FullSQLVersion DLL Function

WmiInspector::FullSQLVersion

If successful, this call returns "OK" string and full SQL Server informations (including version number, service pack and edition name), "error" and error description string otherwise.

This function is a combination of several WmiInspector::Request "Microsoft\\SqlServer\\ComputerManagement" "Win32_SqlServiceAdvancedProperty" "Xxx" calls.

Examples

;Show OS name
START:
     WmiInspector::Request "CIMV2" "Win32_OperatingSystem" "Caption"
     Pop $0
     StrCmp $0 "ok" SHOWVALUE SHOWERROR
SHOWVALUE:
     Pop $1
     MessageBox MB_OK "Value: $1"
     GoTo END
SHOWERROR:
     Pop $1
     MessageBox MB_OK "Error: $1"
END:
;Show Antivirus name
START:
     WmiInspector::AntiVirus
     Pop $0
     StrCmp $0 "ok" SHOWVALUE SHOWERROR
SHOWVALUE:
     Pop $1
     StrCmp $1 "" SHOWAVNAME NOAV
SHOWAVNAME:
     MessageBox MB_OK "Antivirus detected: $1"
     GoTo END
NOAV:
     MessageBox MB_OK "No antivirus found."
     GoTo END
SHOWERROR:
     Pop $1
     MessageBox MB_OK "Error: $1"
END: