Module: check_mk
Branch: master
Commit: 776d137dc51a6c5ccb74085387a8ac3c638bfab9
URL:
http://git.mathias-kettner.de/git/?p=check_mk.git;a=commit;h=776d137dc51a6c…
Author: Mathias Kettner <mk(a)mathias-kettner.de>
Date: Thu Nov 27 11:12:08 2014 +0100
#1552 FIX mk_inventory.ps1: fix garbled or missing entries by removing bogus binary
zeroes
This fixes a problem in the HW/SW-Inventory plugin for Windows by removing some bogus
binary zeroes in the output of WMI. Thanks to Christian Michaelski.
---
.werks/1552 | 11 +++++++++++
ChangeLog | 1 +
agents/windows/plugins/mk_inventory.ps1 | 9 ++++++---
3 files changed, 18 insertions(+), 3 deletions(-)
diff --git a/.werks/1552 b/.werks/1552
new file mode 100644
index 0000000..78f127b
--- /dev/null
+++ b/.werks/1552
@@ -0,0 +1,11 @@
+Title: mk_inventory.ps1: fix garbled or missing entries by removing bogus binary zeroes
+Level: 1
+Component: inv
+Compatible: compat
+Version: 1.2.5i7
+Date: 1417083051
+Class: fix
+
+This fixes a problem in the HW/SW-Inventory plugin for Windows by removing some bogus
+binary zeroes in the output of WMI. Thanks to Christian Michaelski.
+
diff --git a/ChangeLog b/ChangeLog
index bc01d24..0938079 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -103,6 +103,7 @@
* 1479 liveproxyd: new function for collecting remote inventory data...
NOTE: Please refer to the migration notes!
* 1547 FIX: win_cpuinfo: fix case where NumberOfCores is missing (Windows 2003)...
+ * 1552 FIX: mk_inventory.ps1: fix garbled or missing entries by removing bogus binary
zeroes...
inventory:
* 1516 FIX: win_disks: fix exception in case of empty signature
diff --git a/agents/windows/plugins/mk_inventory.ps1
b/agents/windows/plugins/mk_inventory.ps1
index c2f028d..ac650f9 100644
--- a/agents/windows/plugins/mk_inventory.ps1
+++ b/agents/windows/plugins/mk_inventory.ps1
@@ -78,8 +78,11 @@ Get-WmiObject Win32_Product -ComputerName $name | foreach-object {
write-host -s
write-host
"<<<win_reg_uninstall:sep(124):persist($until)>>>"
$paths = @("HKLM:\Software\Microsoft\Windows\CurrentVersion\Uninstall")
foreach ($path in $paths) {
- Get-ChildItem $path -Recurse | foreach-object { $path2 =
$path+"\"+$_.PSChildName; get-ItemProperty -path $path2 |
- foreach-object { write-host -separator $separator $_.DisplayName, $_.Publisher,
$_.InstallLocation, $_.PSChildName, $_.DisplayVersion, $_.EstimatedSize, $_.InstallDate
}}
+ Get-ChildItem $path -Recurse | foreach-object { $path2 =
$path+"\"+$_.PSChildName; get-ItemProperty -path $path2 |
+
+ foreach-object {
+ $Publisher = $_.Publisher -replace "`0", ""
+ write-host -separator $separator $_.DisplayName, $Publisher , $_.InstallLocation,
$_.PSChildName, $_.DisplayVersion, $_.EstimatedSize, $_.InstallDate }}
}
# Search exes
@@ -89,7 +92,7 @@ foreach ($item in $paths)
{
if ((Test-Path $item -pathType container))
{
- Get-ChildItem -Path $item -include *.exe -Recurse | foreach-object { write-host
-separator $separator $_.Fullname, $_.LastWriteTime, $_.Length,
$_.VersionInfo.FileDescription, $_.VersionInfo.ProductVersion, $_.VersionInfo.ProductName
}
+ Get-ChildItem -Path $item -include *.exe -Recurse | foreach-object { write-host
-separator $separator $_.Fullname, $_.LastWriteTime, $_.Length,
$_.VersionInfo.FileDescription, $_.VersionInfo.ProduktVersion, $_.VersionInfo.ProduktName
}
}
}