# VBS: Verschiedene Ausgaben über Konsole und Webbrowser beim Auslesen der Registry



## unterberg (11. Juli 2008)

Guten Tag 

ich habe ein  VBS Skript geschrieben (software.vbs), das mir die Software, die auf dem Rechner installiert ist ausgibt.

Wenn ich das jetzt über die Konsole aufrufe mit
cscript software.vbs name 

wird mir die Software auch promt aufgelistet, das funktioniert auch bei Rechnern aus dem Netzwerk. 
(Es werden auch verdammt viele Sicherheitsupdates für Windos aufgelistet (KB...))

Wenn ich jetzt ein php-Skript schreibe:

$host = $_GET[host];
echo"<pre>";
$recieve=system("cscript software.vbs $host ");
echo"<pre>";


und das über den Browser aufrufe. Funktioniert das nur lokal mit host=. oder mit host=(Name des Webservers) und nicht übers Netzwerk. Komische ist außerdem, dass eine völlig andere Ausgabe erscheint als über die Konsole. 
Bei Rechnern im Netzwerk kommt keine Ausgabe mehr. 


ich denke mal das liegt daran, dass jeweils unterschiedliche Benutzer das Skript aufrufen, aber ich check nicht wieso. Lese ja HKLM aus. hier noch das Skript:



Const HKLM = &H80000002
Const KeyPath = "SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall"
Const ValueName = "DisplayName"
Const ValuePublisher = "Publisher"

dim strPC
strPC = wscript.arguments(0)
Set objReg = GetObject("WinMgmts:\\" & strPC & "\root\default:StdRegProv")

objReg.EnumKey HKLM, KeyPath, ValueArray
For Each Value In ValueArray
	objReg.GetStringValue HKLM, KeyPath & "\" & Value, ValueName, strDisplayName
	If Not IsNull(strDisplayName) Then
		Str = strDisplayName & " ; "
		'WScript.Echo strDisplayName
		objReg.GetStringValue HKLM, KeyPath & "\" & Value, ValuePublisher, strDisplayPub
	    If Not IsNull(strDisplayPub) Then
		Str = Str & strDisplayPub
		'    WScript.Echo strDisplayPub
	    Else

		    'WScript.Echo " "
		END If
		'WScript.Echo "-----------------------------------------"
		WScript.Echo Str
	End If
Next



Ich brauch das Skript, weil ich die Software, die auf Rechnern im Netzwerk installiert ist in eine Datenbank (mit Web-front-end) schreiben will. Weiß da jemand eine bessere Lösung?


----------

