Angemeldeten User anzeigen?

  • Hallo
    Gibt es in Autoit die Möglichkeit lokal angemeldeten Benutzer zu sehen, so wie mit psloggedon?
    Hintergrund:
    Ich komme ganz offiziell ins System über einen ServiceAccount(Softwareverteilung). @UserName gibt mir nur meinen ServiceAccountName wieder, was ich aber brauche ist der angemeldete User. Den bekomme zwar auch über psloggedon, würde aber lieber eine Variable / Function usw. von Autoit nutzen ...

    Hat jemand eine Idee?

    Gruß, Energy98

    Einmal editiert, zuletzt von energy98 (24. Februar 2009 um 13:24)

  • ich mache alles mit den PSTOOLS, warum willst du es denn anders lösen :?:

    telnet würde sonst nochgehen, was aber viel umständlicher wäre - und der Server müsste den Dienst bereitstellen

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • dafür kannst du aber "sicher" sein, dass die Ergebnisse stimmen ;)

    gut, AutoIt Bordmittel wüsste ich da jetzt nicht, also mach dir ne Telnet-Session auf und machs "per Hand"

    da kannste da auch gleich wieder PSEXEC / PSLOGGEDON nutzen und somit viele Zeilen Quelltext sparen :love:

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Schnuffel
    Also wenn ich die Function richtig verstehe, ist es eher eine Überwachung der An-/Abmeldevorgänge, als zuschauen wer ist aktuell angemeldet oder?

    ctec
    Ist schon richtig, aber mir halt zu kompliziert, wenn man es weiter verarbeiten möchte ...

    Gruß

  • okay, ich denke Du müsstest Dir Fast2's DllCall umschreiben auf folgende Funktion:
    WTSQuerySessionInformation Function
    Info's siehe hier

    Vielleicht kann Fast2 ja unterstützen... :D

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • ich lese das StdoutRead z.B. in einen String und splitte diesen dann meist mit chr(10) auf - dann stehen die Ergebnisse schön zeilenweise zur Verfügung und können dann mit IF oder CASE weiterverarbeitet werden

    Zitat

    Laughing Man

    "I thought, what I'd do was, I'd pretend I was one of those deaf-mutes"

  • Hallo
    sehr einfach aber für meine Zwecke ausreichend:

    Spoiler anzeigen
    [autoit]


    $RegUser = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon", "DefaultUserName")
    $RegAltUser = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon", "AltDefaultUserName")
    $RegDomain = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon", "DefaultDomainName")
    $RegAltDomain = RegRead("HKLM\Software\Microsoft\Windows NT\CurrentVersion\WinLogon", "AltDefaultDomainName")

    [/autoit] [autoit][/autoit] [autoit]

    ConsoleWrite("Last / DefaultUser " & $RegUser & @CRLF)
    ConsoleWrite("Last / DefaultDomain " & $RegDomain & @CRLF)
    ConsoleWrite("Pre / AltUser " & $RegAltUser & @CRLF)
    ConsoleWrite("Pre / AltDomain " & $RegAltDomain & @CRLF)

    [/autoit]


    In dem "DefaultUserName" steht der aktuell lokal angemeldete oder der letzte lokal angemeldete Benutzer.
    In "AltDefaultUserName" steht der letzte lokal angemeldete Benutzer davor.