Windows Server abmelden bestimmter getrennter Benutzer per Batch
Hallo,
ich suche eine Möglichkeit auf einem Server getrennte Benutzer abzumelden.
Habe schon einige Beispiele mit QUERY SESSION und LOGOFF gefunden.
Diese melden lediglich alle getrennten Benutzer ab.
In meinem Fall will ich alle getrennten Benutzer bis auf Administrator und Chef abmelden.
Manche Nutzer haben triftige Gründe weiterhin angemeldet aber getrennt zu sein. Die meisten aber nicht.
Komme aus der VB/VB.net Welt und könnte mir ein Tool programmieren.
Hätte aber nach Möglichkeit ein kleines Script, welches ich (oder ein weiterer Admin) schnell um andere Benutzer erweitern kann ohne eine EXE zu erstellen.
Habe im Internet folgenden Code gefunden, habe aber Bedenken ihn auf dem Server zu testen, solange da 30 Kollegen angemeldet sind. Habe ja keine IDE mit Debugger.
Kann ihn jemand passend abändern?
Quelle
Danke
ich suche eine Möglichkeit auf einem Server getrennte Benutzer abzumelden.
Habe schon einige Beispiele mit QUERY SESSION und LOGOFF gefunden.
Diese melden lediglich alle getrennten Benutzer ab.
In meinem Fall will ich alle getrennten Benutzer bis auf Administrator und Chef abmelden.
Manche Nutzer haben triftige Gründe weiterhin angemeldet aber getrennt zu sein. Die meisten aber nicht.
Komme aus der VB/VB.net Welt und könnte mir ein Tool programmieren.
Hätte aber nach Möglichkeit ein kleines Script, welches ich (oder ein weiterer Admin) schnell um andere Benutzer erweitern kann ohne eine EXE zu erstellen.
Habe im Internet folgenden Code gefunden, habe aber Bedenken ihn auf dem Server zu testen, solange da 30 Kollegen angemeldet sind. Habe ja keine IDE mit Debugger.
Kann ihn jemand passend abändern?
@echo off
query session > c:\temp\session.txt
for /f "skip=2 tokens=2,3,4" %%i in (c:\temp\session.txt) DO if not "%%i"=="Geoff" logoff %%j
del c:\temp\session.txt
pause
Quelle
Danke
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 392882
Url: https://administrator.de/contentid/392882
Ausgedruckt am: 23.11.2024 um 22:11 Uhr
10 Kommentare
Neuester Kommentar
Du meinst sicher GPO?
Das kann man per Server oder per User einstellen. Oder beides in Kombination.
z.B. generelles Timeout für getrennte Sitzungen. Bei ausgesuchten Benutzern am Benutzerobjekt abweichend einstellen, z.B. niemals Timeout.
Dann gibt es da noch einen Trigger für geplante Aufgaben: "Bei Trennung von Benutzersitzung". Damit kann man auch Aktivitäten anhängen.
Das kann man per Server oder per User einstellen. Oder beides in Kombination.
z.B. generelles Timeout für getrennte Sitzungen. Bei ausgesuchten Benutzern am Benutzerobjekt abweichend einstellen, z.B. niemals Timeout.
Dann gibt es da noch einen Trigger für geplante Aufgaben: "Bei Trennung von Benutzersitzung". Damit kann man auch Aktivitäten anhängen.
Per Batch bestimmten User abmelden
Alle außer zwei bestimmen abmelden
Per PS alle User außer die im Array abmelden
A.
for /f "tokens=1-3" %%a in ('query user ^| findstr /ic:"max.mustermann"') do (if /i "%%c" == "Getr." logoff %%b)
for /f "tokens=1-3" %%a in ('query user ^| findstr /ilc:"Getr." ^| findstr /ilvc:"max.mustermann" ^| findstr /ilvc:"birgit.musterfrau"') do logoff %%b
Import-Module RemoteDesktop
Get-RDUserSession | ?{$_.Username -notin @('Administrator','Chef')} | Invoke-RDUserLogoff -Force
Zitat von @insidERR:
Hi A.
Vielen Dank für den Code
Wird der Benutzer "max.mustermann" abgemeldet, oder ignoriert? sieht für mich nach abmelden aus.
Abmelden.Hi A.
Vielen Dank für den Code
Wird der Benutzer "max.mustermann" abgemeldet, oder ignoriert? sieht für mich nach abmelden aus.
Idealerweise würde ich gerne alle angemeldeten aber getrennten Benutzer bis auf "max.mustermann" und "birgit.musterfrau" abmelden.
Habe hier an die 50 verschiedene Benutzer die abgemeldet aber nur 2 bis 3 die weiterhin angemeldet(aber getrennt) werden sollen.
Dann mach doch, steht doch oben schon fix und fertig! (Für Batch ergänzt)Habe hier an die 50 verschiedene Benutzer die abgemeldet aber nur 2 bis 3 die weiterhin angemeldet(aber getrennt) werden sollen.
Du hast da ein % Zeichen bei der For-Variablen zu wenig, und das Schreiben der session.txt kannst du komplett weglassen, das brauchst du nicht.