Angemeldeten Benutzer anzeigen lassen
Hallo,
ist zwar nicht viel "Programmierung", aber dennoch oft nützlich.
Man könnte auch den angemeldeten Benutzer auf einem entfernten System ermitteln via psexec,
dafür müsste die Batch dann so aussehen:
Ich hoffe jemand von euch kann damit etwas anfangen.
ist zwar nicht viel "Programmierung", aber dennoch oft nützlich.
@echo off
FOR /F "tokens=3" %%a IN ('netsh diag show computer /v ^| FIND /i "username"') DO ECHO %%a
Man könnte auch den angemeldeten Benutzer auf einem entfernten System ermitteln via psexec,
dafür müsste die Batch dann so aussehen:
@echo off
SET REMOTE_COMPUTER=%1
FOR /F "tokens=3" %%a IN ('PSEXEC.exe \\%REMOTE_COMPUTER% netsh diag show computer /v ^| FIND /i "username"') DO ECHO %%a
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 84159
Url: https://administrator.de/contentid/84159
Ausgedruckt am: 21.11.2024 um 17:11 Uhr
16 Kommentare
Neuester Kommentar
dass das Ganze unter Windows 2000 nicht funktioniert, da es dort
die netsh.exe nicht gibt.
die netsh.exe nicht gibt.
Bei dir vielleicht nicht, bei anderen Usern schon:
Version 5.0.2168.1 vom 10.12.99 mit 86.288 Byte (de).
...ich wäre der Letzte, der die Firma M$ in Schutz nehmen würde, das wisst ihr. aber...
Nicht mal die sind so bekloppt, dass sie die Information "dem User seine Domäne"
in eine Variable namens %LOGONSERVER% schreiben.
Bei allen M$-Domain-Rechnern, die ich kenne, klappt ein
...oder natürlich die NetSh-Variante oben.
Aber nienich %logonserver%.
Ach ja, und PsLoggedOn geht einen ganz anderen Weg, nämlich über Remote-Registryzugriff und "LastLoggedOnUser"-Einträge.
Kein Remote-Registry-Zugriff gestattet-->keine Info.
Hat der User gesagt: Letzten angemeldeten User NICHT merken (in die Registry schreiben) -> keine Info.
Gibt also durchaus Fälle, in denen ich NetSh mehr vertrauen würde.
Grüße
Biber
Nicht mal die sind so bekloppt, dass sie die Information "dem User seine Domäne"
in eine Variable namens %LOGONSERVER% schreiben.
Bei allen M$-Domain-Rechnern, die ich kenne, klappt ein
@echo %USERDOMAIN%\%USERNAME%
...oder natürlich die NetSh-Variante oben.
Aber nienich %logonserver%.
Ach ja, und PsLoggedOn geht einen ganz anderen Weg, nämlich über Remote-Registryzugriff und "LastLoggedOnUser"-Einträge.
Kein Remote-Registry-Zugriff gestattet-->keine Info.
Hat der User gesagt: Letzten angemeldeten User NICHT merken (in die Registry schreiben) -> keine Info.
Gibt also durchaus Fälle, in denen ich NetSh mehr vertrauen würde.
Grüße
Biber
http://support.microsoft.com/kb/100843/de
Wichtig dabei ist mir:
Grüße
Biber
Systemumgebungsvariablen
Systemumgebungsvariablen können angezeigt werden, indem Sie in der Systemsteuerung das Symbol System auswählen.
Diese Variablen werden immer festgelegt, unabhängig davon, wer sich anmeldet.
Sie können nicht von Benutzern geändert werden.
Es gibt einige zusätzliche vordefinierte Umgebungsvariablen, die bei Anmeldung des Benutzers festgelegt werden, die nicht im Dialogfeld System angezeigt werden:
USERNAME
USERDOMAIN
NTVERSION (not available in Windows NT 4.0 anymore)
WINDIR
OS
PROCESSOR_ARCHITECTURE
Wichtig dabei ist mir:
Diese Variablen werden immer festgelegt, unabhängig davon, wer sich anmeldet.
Sie können nicht von Benutzern geändert werden.
Sie können nicht von Benutzern geändert werden.
Grüße
Biber
Auszug Windows-Hilfe, Stichwort Befehlsinterpreter, Volltextsuche, 6. Übersicht über die Eingabeaufforderung:
Und siehe da, gibt man in der Konsole SET ein, steht da doch tatsächlich eine Variable LOGONSERVER
Von wegen "Nicht mal die sind so bekloppt ...."
%LOGONSEVER% lokal Gibt den Namen des Domänencontrollers zurück, der die aktuelle Anmeldesitzung bestätigt hat.
Und siehe da, gibt man in der Konsole SET ein, steht da doch tatsächlich eine Variable LOGONSERVER
Von wegen "Nicht mal die sind so bekloppt ...."
@54487
ich bestreite ja nicht, dass M$ den Namen des Logonservers in einer Variablen %LOGONSERVER% speichert.
Auch ein blindes Huhn usw...
Aber die Ausgabe von dem gefiltertern NetSh.exe-Aufruf zeigt DOMAIN\USERNAME.
Und wenn die Ausgabe so sein soll und das WhoAmI.exe-Utility aus dem Reskit nicht installiert ist, dann bekommst du diese Ausgabe alternativ eben mit %USERDOMAIN%\%USERNAME% (am eigenen Rechner).
Grüße
Biber
P.S.
ich bestreite ja nicht, dass M$ den Namen des Logonservers in einer Variablen %LOGONSERVER% speichert.
Auch ein blindes Huhn usw...
Aber die Ausgabe von dem gefiltertern NetSh.exe-Aufruf zeigt DOMAIN\USERNAME.
Und wenn die Ausgabe so sein soll und das WhoAmI.exe-Utility aus dem Reskit nicht installiert ist, dann bekommst du diese Ausgabe alternativ eben mit %USERDOMAIN%\%USERNAME% (am eigenen Rechner).
Grüße
Biber
P.S.
Und siehe da, gibt man in der Konsole SET ein, steht da doch tatsächlich eine Variable ..
Und wenn man/frau SET USER eingibt, was passiert dann?
USERDOMAIN gibt es natürlich auch.
Nee? Das liest sich aber da oben ganz anders.
Jedenfalls ist die Aussage in der Windows-Hilfe zu XP eindeutig und widerlegt m. E. deine Behauptung. :-P
Und was die Behauptung angeht, dass die aus dem Artikel 100843 angegebenen Systemvariablen vom Benutzer nicht
geändert werden können, so ist das glatt eine Ente.
Ob die Änderung (über die Registry, die auch prompt übernommen wird) allerdings sinnvoll ist, lasse ich mal außen vor.
ich bestreite ja nicht, dass M$ den Namen des Logonservers in einer Variablen %LOGONSERVER% speichert.
Nee? Das liest sich aber da oben ganz anders.
Jedenfalls ist die Aussage in der Windows-Hilfe zu XP eindeutig und widerlegt m. E. deine Behauptung. :-P
Und was die Behauptung angeht, dass die aus dem Artikel 100843 angegebenen Systemvariablen vom Benutzer nicht
geändert werden können, so ist das glatt eine Ente.
Ob die Änderung (über die Registry, die auch prompt übernommen wird) allerdings sinnvoll ist, lasse ich mal außen vor.
@54487
Ich bekomme nicht mit %logonserver% den Namen der Domäne heraus.
Beispiel: an meinem Arbeitsplatz melde ich mich jeden Morgen an einem von 5 Logonservern an und kann mir eine von xx Domänen aussuchen.
Logonserver beginnen mit "\\" (sind ja Server == anfassbare Geräte, in die ein Stromkabel reingeht)
Domänen sind zwar auch nur sichtbar, wenn Strom fließt, aber es gibt keine Eins-zu-Eins-Verbindung "Domäne-zu-Steckdose".
Wenn die Fragestellung war:
Grüße
Biber
Nee? Das liest sich aber da oben ganz anders.
Meine gewollte Aussage sollte sein:Ich bekomme nicht mit %logonserver% den Namen der Domäne heraus.
Beispiel: an meinem Arbeitsplatz melde ich mich jeden Morgen an einem von 5 Logonservern an und kann mir eine von xx Domänen aussuchen.
Logonserver beginnen mit "\\" (sind ja Server == anfassbare Geräte, in die ein Stromkabel reingeht)
Domänen sind zwar auch nur sichtbar, wenn Strom fließt, aber es gibt keine Eins-zu-Eins-Verbindung "Domäne-zu-Steckdose".
Wenn die Fragestellung war:
Welcher User hat sich heute morgen an welchem Logonserver angemeldet?
dann habe ich das überlesen. Grüße
Biber
Da war gar keine Fragestellung, sondern ursprünglich eine Aussage:
Angemeldeten Benutzer anzeigen lassen.
Im Verlauf der Diskussion kam dann zur Sprache, wie man das Ganze auch remote rausbekommt.
Dabei tauchte dann der Begriff %LOGONSERVER% auf.
Angemeldeten Benutzer anzeigen lassen.
Im Verlauf der Diskussion kam dann zur Sprache, wie man das Ganze auch remote rausbekommt.
Dabei tauchte dann der Begriff %LOGONSERVER% auf.