.bat file als administrator starten

  • VBScript

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von ruth23.

    .bat file als administrator starten

    Hallo,bin leider ein blutiger anfaenger in vbs und ueberhaupt beim skript schreiben. soll aber trotzdem ein start up skript erstellen, dass ein uninstall.bat auf einem share aufruft. auf dieses share haben normale user keinen zugriff. meine bisherigen versuchen schauen folgendermassen aus:

    dim shell
    dim strComp
    strComp = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComp & "\root\cimv2")
    Set colFiles = objWMIService. _
    ExecQuery("Select * From CIM_DataFile Where Name = 'C:\\test.txt'")

    If colFiles.Count = 0 Then

    set shell=createobject("wscript.shell")
    shell.run "runas /user:domain\admin" "\\server\folder\Uninstall.bat"
    shell.send "password"
    set shell=nothing

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objLogFile = objFSO.CreateTextFile("C:\\test.txt")

    Else
    Wscript.Echo "programm bereits deinstalliert


    End If

    ich muss zuegeben dass ich mir das teilwesie ziemlich zusammengestueckelt habe... :S waere wirklich sehr dankbar fuer jeglichen hinweis/tipp warum das einfach nicht funktionieren will.

    vielen dank schon einmal und liebe gruesse

    ruth
    zum einen:

    shell.run "runas /user:domain\admin" "\\server\folder\Uninstall.bat"
    muss
    shell.run "runas /user:domain\admin " & "\\server\folder\Uninstall.bat"
    sein

    zum anderen
    shell besitzt keine methode "SEND" sondern nur .sendkeys
    Das ist meine Signatur und sie wird wunderbar sein!
    hallo. vielen dank fuer die antwort. ich habs jetzt ein bisserl umgemodelt und es funktioniert eigentlich. siehst jetzt so aus:

    dim shell
    dim strComp
    strComp = "."
    Set objWMIService = GetObject("winmgmts:\\" & strComp & "\root\cimv2")
    Set colFiles = objWMIService. _
    ExecQuery("Select * From CIM_DataFile Where Name = 'C:\\test.txt'")

    If colFiles.Count = 0 Then

    set shell=createobject("wscript.shell")
    shell.run "runas /user:domain\user"
    shell.sendkeys "password"
    shell.run """\\server\folder\Uninstall .bat"""
    set shell=nothing

    Set objFSO = CreateObject("Scripting.FileSystemObject")
    Set objLogFile = objFSO.CreateTextFile("C:\\test.txt")



    Else

    Wscript.Echo "program already uninstalled"
    End If



    als login skript funktioniert das einwandfrei, nur als startup skript will es nicht so recht. die uninstall.bat wird nicht ausgefuehrt. die text datei am ende des skripts wird allerdings erstellt. der runas user ist admin also kann das ja eigentlich nicht an irgendwelchen zugriffsrechten auf den server liegen oder?

    waere wirklich dankbar fuer einen hinweis :)



    viele liebe gruesse

    ruth



    haettest du vielleicht eine idee warum das so ist?