Script um bestimmte (getrennte) User von diversen Servern eines Serververbundes abzumelden
Hallo zusammen,
ich bin leider relativ neu in der IT (mach gerade meine Ausbildung und leider lernen wir in der Schule kein Power-Shell...) und bräuchte deswegen Unterstützung bei der Erstellung eines (Power-Shell-Skriptes).
Ich habe folgendes Problem.
Ich bräuchte ein Script mit dem ich gezielt mehrere oder alle getrennten User von allen (oder manchmal von bestimmten Servern) abmelden kann.
Ich möchte eine maschines.txt-Datei in welche ich alle relevanten Server reinschreibe auf denen das Script ausgeführt werden soll
Und eine users.txt-Datei in welcher ich entweder mehrere User oder den "Befehl für alle getrennten user" reinschreiben kann.
Meine ReadMe sähe dann quasi so aus:
user.txt = Benutzernamen
ich bin leider relativ neu in der IT (mach gerade meine Ausbildung und leider lernen wir in der Schule kein Power-Shell...) und bräuchte deswegen Unterstützung bei der Erstellung eines (Power-Shell-Skriptes).
Ich habe folgendes Problem.
Ich bräuchte ein Script mit dem ich gezielt mehrere oder alle getrennten User von allen (oder manchmal von bestimmten Servern) abmelden kann.
Ich möchte eine maschines.txt-Datei in welche ich alle relevanten Server reinschreibe auf denen das Script ausgeführt werden soll
Und eine users.txt-Datei in welcher ich entweder mehrere User oder den "Befehl für alle getrennten user" reinschreiben kann.
Meine ReadMe sähe dann quasi so aus:
- Dieser Ordner (mit dem Script und machines.txt, user.txt) muss unter folgendem Pfad abgelegt werden:
- .txt-Listen überprüfen und ggf. anpassen:
user.txt = Benutzernamen
- PowerShell als Domänenadministrator starten
- Skript in das PowerShell-Fenster kopieren und ausführen
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 566160
Url: https://administrator.de/contentid/566160
Ausgedruckt am: 25.11.2024 um 08:11 Uhr
8 Kommentare
Neuester Kommentar
Abmelden? Verwaiste Remotedesktopverbindungen?
$machines = gc 'c:\Admin\Batch\logoff_users\machines.txt'
$users = gc 'c:\Admin\Batch\logoff_users\users.txt'
Import-Module RemoteDesktop
Get-RDServer | ?{$_.Server -in $machines} | Get-RDUserSession | ?{$_.Username -in $users -and $_.SessionState -eq 'STATE_DISCONNECTED'} | Invoke-RDUserLogoff -Force -verbose
Zitat von @Smilodex:
Danke für die schnelle Antwort.
Was würdest du als alternative zu PS vorschlagen/empfehlen?
Die entsprechende GPO mit Timeout für getrennte Sitzungen nutzen.Danke für die schnelle Antwort.
Was würdest du als alternative zu PS vorschlagen/empfehlen?
Muss ich ich in machines.txt noch so sachen wie OU=ASB XY,DC=ASB2007,DC=local oder so eintragen oder reicht es wenn ich einfach da nur die Servernamen ts01 ts02 etc untereinander reinschreibe?
Kann mir jetzt noch jemand den Befehl sagen den ich (wenn ich keinen speziellen User in die users.txt schreibe) verwenden kann, der besagt:
- melde alle getrennten User von den entsprechenden Servern ab
Einfach die Bedingung für die Users aus der Condition raus nehmen- melde alle getrennten User von den entsprechenden Servern ab
Get-RDServer | ?{$_.Server -in $machines} | Get-RDUserSession | ?{$_.Username -in $users -and $_.SessionState -eq 'STATE_DISCONNECTED'} | Invoke-RDUserLogoff -Force -verbose