tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
3
ZUGRIFFE
1929
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    thedolby thedolby ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    7
    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-Code:
    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 :
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    
    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
    Geändert von thedolby (10.02.05 um 17:29 Uhr)
     

  2. #2
    Avatar von Sven Mintel
    Sven Mintel Sven Mintel ist offline Mitglied
    Registriert seit
    Aug 2003
    Beiträge
    18.238
    Blog-Einträge
    6
    Was sollte da auch "zurückkommen".... das Skript hat keinen Rückgabewert, und da ist auch nix, was einen etwaigen solchen im PHP-Skript verarbeiten würde.

    Das Einfachste wäre, wenn du nach der Skriptausführung die hostname.txt per readfile() ausliest.
     

  3. #3
    thedolby thedolby ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    7
    Zitat Zitat von Sven Mintel
    Was sollte da auch "zurückkommen".... das Skript hat keinen Rückgabewert, und da ist auch nix, was einen etwaigen solchen im PHP-Skript verarbeiten würde.

    Das Einfachste wäre, wenn du nach der Skriptausführung die hostname.txt per readfile() ausliest.
    Sorry, dann hab ich mich nicht klar ausgedrückt:

    In die "hostname.txt" wird der Hostname des zu durchsuchenden PC's geschrieben bevor das vbs abläuft.
    Im vbs Script wird vom resultat die datei "result.txt" erstelt. Dies wird danach per readfile() ausgelesen.
     

  4. #4
    thedolby thedolby ist offline Rookie
    Registriert seit
    Dec 2004
    Beiträge
    7
    Weiss echt nicht mehr weiter!
     

Ähnliche Themen

  1. Error "127" bei exec()
    Von Sasser im Forum PHP
    Antworten: 9
    Letzter Beitrag: 03.07.10, 15:23
  2. Antworten: 8
    Letzter Beitrag: 24.07.09, 07:16
  3. Antworten: 0
    Letzter Beitrag: 14.02.05, 19:31
  4. Antworten: 4
    Letzter Beitrag: 09.01.05, 18:17
  5. Suche Hilfe bei "exec"
    Von CitGod im Forum PHP
    Antworten: 4
    Letzter Beitrag: 05.08.02, 12:03