Problem mit "exec"
Hallo zusammen
Bin langsam aber sicher am Ende meines Wissens:
Ich möchte eine php Funktion erstellen, die über vbs einige Infos per wmi reinholen soll.
Das vbs holt den Hostnamen des zu durchsuchenden PC's aus einem txt File und speichert das Ergebniss auch in einem txt file (wenigstens ist es im Moment für Testzwecke so).
Nun rufe ich das File per exec auf:
Die vbs Datei funktioniert soweit tip top, denn wenn ich die Infos von einem Remote PC auslesen will und es manuell ausführe krieg ich auch die Infos zurück. Doch wenn ich es über php ausführen will krieg ich nichts.
Thema Berechtigung: Natürlich hab ich auch schon daran gedacht und einiges ausprobiert. Bei der zweiten Version des vbs Files gebe ich den Benutzer, Arbeitsgruppe und Passwort mit. Funktioniert aber über php trotzdem nicht. Bei der ersten Version hab ich das nicht gemacht und konnte den lokalen PC sauber auslesen. Das heisst für mich, dass der Ablauf funktioniert, berechtigungen auf die txt Files richtig sind. Unter anderem hab ich es auch mit Runas versucht (RunASPro).
In php komme ich soweit klar, aber meine vbs Kenntnisse sind sehr sehr in Grenzen.
Hier noch das vbs Script Version2:
Besten Dank für Eure Mithilfe
TheDolby
Hallo zusammen
Bin langsam aber sicher am Ende meines Wissens:
Ich möchte eine php Funktion erstellen, die über vbs einige Infos per wmi reinholen soll.
Das vbs holt den Hostnamen des zu durchsuchenden PC's aus einem txt File und speichert das Ergebniss auch in einem txt file (wenigstens ist es im Moment für Testzwecke so).
Nun rufe ich das File per exec auf:
PHP:
exec("cscript ScanCom.vbs");
Die vbs Datei funktioniert soweit tip top, denn wenn ich die Infos von einem Remote PC auslesen will und es manuell ausführe krieg ich auch die Infos zurück. Doch wenn ich es über php ausführen will krieg ich nichts.
Thema Berechtigung: Natürlich hab ich auch schon daran gedacht und einiges ausprobiert. Bei der zweiten Version des vbs Files gebe ich den Benutzer, Arbeitsgruppe und Passwort mit. Funktioniert aber über php trotzdem nicht. Bei der ersten Version hab ich das nicht gemacht und konnte den lokalen PC sauber auslesen. Das heisst für mich, dass der Ablauf funktioniert, berechtigungen auf die txt Files richtig sind. Unter anderem hab ich es auch mit Runas versucht (RunASPro).
In php komme ich soweit klar, aber meine vbs Kenntnisse sind sehr sehr in Grenzen.
Hier noch das vbs Script Version2:
Code:
On Error Resume Next
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("result.txt", True)
' ### Konstanten
Const EINGABEDATEI = ".\hostname.txt"
' ### Globale Variablen
Dim FSO ' Instanz von Scripting.FileSystemObject
Dim objTX ' Textdatei-Objekt für den zu durchsuchenden Computer
' --- Global benötigtes Objekt
Set FSO = CreateObject("Scripting.FileSystemObject")
' --- Auslesen der Computerliste
Set objTX = FSO.OpenTextFile(EINGABEDATEI)
strComputer = objTX.ReadLine
' -----------------------------------------------------------
Set objSWbemLocator = CreateObject("Wbemscripting.SWbemLocator")
Set objSWbemServices = objSWbemLocator.ConnectServer _
(strComputer, "root\cimv2", "arbeitsgruppe\benutzer", "passwort")
objSWbemServices.Security_.ImpersonationLevel = 3
'----------------------------- Herstellerinfos & RAM auslesen -----------------------------
Set colSettings = objSWbemServices.ExecQuery _
("Select * from Win32_ComputerSystem ")
For Each objComputer in colSettings
objTextFile.WriteLine "MFName:" & objComputer.Manufacturer
objTextFile.WriteLine "MFModel:" & objComputer.Model
objTextFile.WriteLine "RAMSize:" & _
objComputer.TotalPhysicalMemory/1000000
Next
'----------------------------- Seriennummerinfos -----------------------------
Set colBIOS = objSWbemServices.ExecQuery _
("Select * from Win32_BIOS")
For each objBIOS in colBIOS
objTextFile.WriteLine "MFSerial:" & objBIOS.SerialNumber
Next
'----------------------------- Prozessorinfos -----------------------------
Set colItems = objSWbemServices.ExecQuery("Select * from Win32_Processor")
For Each objItem in colItems
objTextFile.WriteLine "CPUName:"&objItem.Name
Next
objTextFile.WriteLine ""
objTextFile.Close
Besten Dank für Eure Mithilfe
TheDolby
Zuletzt bearbeitet: