Fehlermeldung: Erlaubnis verweigert!

  • VBScript

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von peterfido.

    Fehlermeldung: Erlaubnis verweigert!

    Hi,

    also ich habe folgendes Skript geschrieben bzw. zusammengeführt aus geklauten Codeteilen: :)

    Visual Basic-Quellcode

    1. Option ExplicitDim objFSO, objFSOText, objFolder, objFile, fso, service, Wshshell, strFile, Proc, objWMIService, objWMI, P, Weiter, File
    2. Set objWMI = CreateObject("WbemScripting.SWbemLocator")Set objWMIService = objWMI.ConnectServer(".", "root\cimv2")Set service = GetObject ("winmgmts:")Set fso = CreateObject("Scripting.FileSystemObject")
    3. If (fso.FileExists("S:\BLW7-PW.log")) ThenWScript.Echo "Im Moment greift ein anderer Benutzer auf den Computer zu"ElsestrFile = "S:\BLW7-PW.log"
    4. ' Create the File System ObjectSet objFSO = CreateObject("Scripting.FileSystemObject")
    5. Set objFile = objFSO.CreateTextFile(strFile)Wscript.Echo "Datei wurde erstellt: " & strFileSet WshShell = WScript.CreateObject("WScript.Shell") WshShell.Run("%windir%\system32\mstsc.exe")
    6. Do Set Proc = objWMIService.ExecQuery("select * from win32_process") For Each P in Proc If lcase(P.Name) = "mstsc.exe" Then Weiter=True Else Weiter=False Set File = fso.GetFile("S:\BLW7-PW.log") File.close File.Delete End If NextLoop while Weiter=True
    7. End IfWScript.Quit


    Hier als Bild, da der Code Probleme macht:




    Bekomme dann bei der Ausführung folgenden Fehler:




    Weiß jemand wieso? :( Help please!

    Gruß 8o

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von „chimperator“ ()

    Irgendwie möchte er das Skript mit den ganzen Absätzen nicht richtig übernehmen.
    Der quetscht alles in eine Zeile :\

    Habe es mal als Bild hochgeladen





    So wie es aussieht gibt es ein Rechteproblem!
    Ich bin als Administrator angemeldet und habe auch überall Schreibrechte, aber anscheinend schreibt er nicht mit meinem Windows-Benutzernamen diese Datei.
    Mit welchen Userdaten versucht er dann diese Datei zu löschen?
    Ich habe nämlich noch den Test gemacht, dass ich eine Zeile in die Datei schreiben wollte, dies aber auch zu dem gleichen Fehler geführt hat.


    Kurz gesagt:
    Dateien erstellen darf ich, den Rest aber nicht.
    Welche Userdaten benutzt VBS zum Schreiben?

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „chimperator“ ()

    Wenn ich das verwende

    Visual Basic-Quellcode

    1. Set objFile = fso.GetFile("S:\BLW7-PW.log") objFile.Delete



    Bekomme ich folgende Meldung und erstellt mir die Datei nicht einmal:



    Nein ein Prozess ist nicht auf, da ich die Datei ganz normal unter Windows löschen kann, nur nicht mit dem Skript.

    petaod schrieb:

    Dateien erstellen darf ich, den Rest aber nicht.
    Möglicherweise ist die Datei von einem anderen Prozess offen, wenn du sie beschreiben oder löschen willst (oder von dir selbst).

    petaod schrieb:

    Wie kommst du darauf, dass GetFile eine Datei erstellt?
    Meinst du vielleicht das:

    Visual Basic-Quellcode

    1. If FSO.FileExists("c:\x.log") Then FSO.DeleteFile "c:\x.log"
    Nein, ich erstelle die Datei ja mit diesem Teil:

    Visual Basic-Quellcode

    1. Set objFSO = CreateObject("Scripting.FileSystemObject")
    2. Set objFile = objFSO.CreateTextFile(strFile)


    Was nicht funktioniert ist das normale Löschen der Datei.
    Das ist eine do - while Schleife. Solange der Prozess mstsc.exe läuft, passiert nichts. Wenn mstsc.exe aus ist, dann soll er die Datei löschen.

    Gruß
    Um (Ver) Tipparbeit zu sparen, könntest du auch immer die Variable strFile nutzen

    Du willst die Datei direkt löschen, nachdem das andere Programm gerade beendet ist. Wie sieht es aus, wenn du da noch eine Pause zwischen machst. Evtl. muss die Datei erst noch freigegeben werden oder der Virenscanner ist noch dabei diese zu scannen.
    Gruß
    Peterfido

    Keine Unterstützung per PN!