Zugriff Verweigert trotz Administrator

  • VB.NET

Es gibt 9 Antworten in diesem Thema. Der letzte Beitrag () ist von hal2000.

    Zugriff Verweigert trotz Administrator

    Hey ich habe vor mir ein kleines Anti-Virus zu schreiben das die MD5 Hashes mit einer Datenbank vergleicht.
    Das funktioniert auch alles. Nur wenn er Nach Dokumente und Einstellungen will sagt Windows Zugriff Verweigert. Trotz das ich Visual Basic als Administrator gestartet hab.

    Ich hab auch dem Programm admin Rechte gegeben mit

    VB.NET-Quellcode

    1. <requestedExecutionLevel level="requireAdministrator" uiAccess="false" />


    Ich hoffe ihr könnt mir Helfen.

    DoomStyler schrieb:

    Nur wenn er Nach Dokumente und Einstellungen will sagt Windows Zugriff Verweigert.
    Wie sieht denn Dein Code dazu aus?
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!

    VB.NET-Quellcode

    1. For Each File In System.IO.Directory.GetFiles(drname, "*", SearchOption.AllDirectories)
    2. Dim fs As New FileInfo(File)
    3. TextBox4.Text = mdsc(fs.FullName)
    4. TextBox4.Text = shsc(fs.FullName)
    5. Label2.Text = fs.FullName
    6. Label6.Text += 1
    7. If TextBox1.Text.Contains(TextBox4.Text) Then
    8. Label9.Text = fs.FullName
    9. End If
    10. ProgressBar1.Value = Label5.Text
    11. Next
    Das System verbietet Dir den direkten Zugriff auf diese Verzeichnisse.
    Das ist eine der wenigen Stellen, wo Du mit Try / Catch die Systemsperre abfangen musst.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Kann das vielleicht dran liegen, dass "Dokumente und Einstellungen" nur ein Alias für "Users" ist? Das Verzeichnis "Dokumente und Einstellungen" gibt es auf einem deutschen Windows 7 (bzw. Vista) nicht, sondern nur "Users" mit passendem Alias. Die c't hat mal darüber was geschrieben - Google mal danach.
    Gruß
    hal2000
    wenn du einen vollständigen Laufwerk-Scan vorhast, kannst du

    VB.NET-Quellcode

    1. System.IO.Directory.GetFiles(drname, "*", SearchOption.AllDirectories)
    nicht verwenden, weil das Fehler wirft, wenn wg. .AllDirectories Ordner durchsuchen versucht wird, für die keine Rechte bestehen (nichtmal Admin darf in jeden Ordner gucken!)

    Du mußt dir eine eigene rekursive Suche schreiben, die mittels TryCatch diese Fehler überspringt, und trotzdem weiter sucht.
    gugge RecursiveFileSearch

    DoomStyler schrieb:

    Und er will anscheinend Zugriff auf C:\Dokumente und Einstellungen obwohl es den Ordner garnicht gibt.
    dassis sehr eigenartig. Denn ohne dazu aufgefordert zu werden, kanns eiglich nicht vorkommen, dass auf ein nichtexistentes Directory zugegriffen wird.

    Also eine Suche sucht Ordner, und sucht rekursiv auch innerhalb der gefundenen Ordner. Da nichtexistente Ordner nie gefunden werden, wird auch nie darin gesucht.

    ErfinderDesRades schrieb:

    dassis sehr eigenartig.
    Vielleicht hat er nur tatsächlichen Namen und gemapten Namen verwechselt. :S
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!
    Das Problem tritt meistens auf, wenn Pfade hartcodiert werden. Ich habe den Thread nochmal gelesen - offenbar ist das hier nicht der Fall. Anderer Vorschlag: Es gibt ein "Default"-Benutzerkonto unter "Users", auf das ein Admin nicht zugreifen darf. Lass mal in "Users" die Systemdateien anzeigen (Ordneroptionen), dann siehst du es.
    Gruß
    hal2000