Durch Benutzer abgebrochen

  • VB.NET

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

    Durch Benutzer abgebrochen

    Hallo zusammen,

    ich habe da mal eine Frage an die erfahreneren Programmierer. Ich habe ein kleines Tools geschrieben das die tägliche Arbeit vereinfachen und erleichtern wird. Allerdings habe ich ein Problem bei dem ich nicht weiterkomme. Offensichtlich habe ich hier einen Fehler drin oder vielleicht sogar den falschen Ansatz gewählt. Es geht bei dem Problem im Grunde darum, dass ich 2 Prozesse als ein andere User ausführen muss. Hierbei bricht das Programm aber mit der Fehlermeldung "Der Vorgang wurde durch den Benutzer abgebrochen" wieder ab. Es ist doch möglich cmd.exe als ein anderer Benutzer auszuführen?!

    VB.NET-Quellcode

    1. Imports System.Runtime.InteropServices
    2. Imports System.Security.Principal
    3. Module Impersonate
    4. Private Declare Auto Function LogonUser Lib "advapi32.dll" (ByVal un As String, ByVal domain As String, ByVal pw As String, ByVal LogonType As Integer, ByVal LogonProvider As Integer, ByRef Token As IntPtr) As Boolean
    5. Public Declare Auto Function CloseHandle Lib "kernel32.dll" (ByVal handle As IntPtr) As Boolean
    6. Public Sub ImpersonateAction()
    7. Dim tokenHandle As New IntPtr(0)
    8. Try
    9. If LogonUser("Username", "Domain", "Passwort", 2, 0, tokenHandle) Then
    10. Dim newId As New WindowsIdentity(tokenHandle)
    11. Using impersonatedUser As WindowsImpersonationContext = newId.Impersonate()
    12. 'Aktion als anderer Benutzer ausführen
    13. Process.Start("cmd.exe", ("/c mkdir c:\Ordnerpfad\NeuerOrdner"))
    14. Process.Start("cmd.exe", String.Concat(New String() {"/c robocopy ", Ursprung, " ", Ziel, " /mir /secfix /sec"}))
    15. End Using
    16. CloseHandle(tokenHandle)
    17. Else
    18. MsgBox("Anmeldung fehlgeschlagen")
    19. End If
    20. Catch ex As Exception
    21. MsgBox("Ein Fehler ist aufgetreten. Fehlerbeschreibung: " & vbCrLf & ex.Message)
    22. End Try
    23. End Sub
    24. End Module


    Ich hoffe es kann mir jemand weiterhelfen und mir erklären wo mein Fehler liegt. So lange ich etwas dazulernen kann, ist es auch nicht so schlimm wenn nicht alles auf Anhieb funktioniert ;).
    Schonmal vielen Dank für eure Bemühungen.


    *****EDIT*****
    Ich denke es hat sich gerade erledigt. Das kommt davon wenn man irgendwann einfach Dinge übersieht.

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