Kennwortsicherung eines Benutzers erkennen

  • VB.NET

Es gibt 8 Antworten in diesem Thema. Der letzte Beitrag () ist von WoAlK.

    Kennwortsicherung eines Benutzers erkennen

    Hallo,

    ich habe folgende Frage:

    Kann man (bei Windows 7) per VB.NET herausfinden, ob der aktuelle Benutzer kennwortgeschützt ist?
    Also bei Windows ein Kennwort eingerichtet hat?

    Es geht dabei um ein Sicherheitsprogramm, das eine Warnung zeigen soll, wenn das nicht so ist.

    Ist das möglich, und wenn ja, wie?

    VB.NET-Quellcode

    1. My.User.IsAuthenticated

    Grüße
    "Life isn't about winning the race. Life is about finishing the race and how many people we can help finish the race." ~Marc Mero

    Nun bin ich also auch soweit: Keine VB-Fragen per PM! Es gibt hier ein Forum, verdammt!

    petaod schrieb:

    Als Methode fällt mir die WinApi-Funktion CreateProcessWithLogonW ein.
    Wie benutzt man diese Funktion?

    Auf der verlinkten Seite ist nur C++ als Beispiel erwähnt...

    EDIT: Mit folgendem Code funktioniert es nicht:

    VB.NET-Quellcode

    1. Try
    2. Dim psi As New ProcessStartInfo("MEINE EXE")
    3. psi.UserName = My.User.Name
    4. psi.Password = Nothing
    5. Process.Start(psi)
    6. ' Nicht kennwortgeschützt
    7. Catch ex As Exception
    8. ' Kennwortgeschützt
    9. End Try


    Wenn man den angemeldeten Benutzer als StartInfo-Benutzer nimmt, braucht man kein Kennwort.

    Wäre das bei CreateProcessWithLogonW anders?

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

    Also, folgender Code funktioniert auch nicht:

    VB.NET-Quellcode

    1. Try
    2. Dim psi As New ProcessStartInfo("MEINE EXE")
    3. psi.UserName = My.User.Name
    4. psi.UseShellExecute = False ' Laut einer Exception notwendig
    5. psi.Password = New Security.SecureString
    6. Process.Start(psi)
    7. ' Kein Kennwort
    8. Catch ex As Exception
    9. ' Kennwort
    10. End Try


    Wieder wird das Passwort eines angemeldeten Benutzers umgangen (das Programm MEINE EXE wird ausgeführt, es kommt keine Exception).




    PS: Obwohl ich schon einige Programme mit auch schon komplizierten Strukturen geschrieben habe, würde ich sagen, dass CreateProcessWithLogonW noch zu kompliziert ist...