Vor einiger Zeit habe ich mein erstes Skript gepostet, um die Benutzer zu finden, die auf einem Server angemeldet sind, und sie per Fernzugriff abzumelden. Das ist nun schon einige Jahre her, und ich dachte, ich würde es noch einmal versuchen, um die Geschwindigkeit zu erhöhen, die Formatierung zu verbessern und einige spezielle Schalter mit etwas mehr Flexibilität hinzuzufügen. Schließlich wollte ich den hässlichen, unkonventionellen Namen in etwas ändern, das besser zu Powershell passt. Ich nenne diese neue Funktion Get Logged In Users.

Die zugrundeliegende Struktur wird immer noch die Abfragesitzung verwenden, das hat sich also nicht geändert. Was sich geändert hat, ist, dass wir jetzt einen bestimmten Benutzer angeben können oder herausfinden können, wo ein Benutzer in einer Domäne angemeldet ist. Ein weiterer Hinweis ist die Möglichkeit, sie mit einem einfachen Schalter abzumelden, was sich als sehr nützlich erweisen kann, wenn man ein Systemprotokoll überprüft.

Get Logged In Users Using Powershell

Rückblickend weiß ich nicht, warum ich das ActiveDirectory-Modul hinzugefügt habe und es als Administrator laufen ließ. Das ist einfach nicht notwendig und nicht erforderlich, um diese Funktion auszuführen. Ich würde jedoch dringend empfehlen, diese Funktion auf einem Windows 10-Computer oder Server 2016 und höher mit Powershell 5 auszuführen, denn seien wir ehrlich, wir leben im Jahr 2020.

Parameter

-ComputerName

Beschreibung: Hier wird der Computername angegeben, den Sie überprüfen möchten. Wenn kein Computername angegeben wird, wird der lokale Computer überprüft.

-Benutzername

Beschreibung: Wenn der angegebene Benutzername bei einem Rechner angemeldet ist, wird er in der Ausgabe angezeigt.

-LogOff

Beschreibung: Wenn der Parameter logoff angegeben ist, wird der Benutzer vom Computer abgemeldet. Es wird empfohlen, das Skript ohne den Abmeldeparameter auszuführen, um die Ergebnisse zunächst zu sehen.

Wie man das Powershell-Skript „Get Logged In User“ ausführt

Um das Skript auszuführen, müssen Sie einige Dinge tun. Zuallererst müssen Sie Ihre Ausführungsrichtlinie auf RemoteSigned oder Bypass einstellen. Dies ist ein Standard bei der Ausführung von Powershell-Skripten.

Als Nächstes müssen Sie das Skript mit Dot-Source versehen, da es eine Funktion ist. Um das Skript mit Punktquellen zu versehen, gehen Sie wie folgt vor:

  • Kopieren Sie das obige Skript und speichern Sie es an einem beliebigen Ort. In diesem Beispiel speichere ich es in meinem Ordner C:\_Scripts.
  • Geben Sie im Powershell-Fenster Folgendes ein: . .\_Scripts\Get-LoggedInUser.ps1 – Beachten Sie die beiden Punkte vor dem Backslash.

Get Logged On Users On Remote Computers

Das Beste an diesem Skript ist die Möglichkeit, herauszufinden, wer bei einem Remote-Computer angemeldet ist. Damit entfällt die Notwendigkeit, sich physisch am Computer anzumelden und dies zu überprüfen. Da dieses Powershell-Skript die Abfrage von Remote-Servern und -Computern ermöglicht, ist es hochgradig automatisierbar und sehr skalierbar. Mit diesem Skript können Sie 1 Server oder 1.000 Server überprüfen, und der Aufwand für die Person, die es ausführt, ist derselbe. Es ist großartig, und ich finde es toll, dass Sie das alles von Ihrem eigenen Windows 10-Computer aus machen können.

Sie können auch ganz einfach herausfinden, wo ein Benutzer in einer Domäne angemeldet ist. Je nachdem, wie viele Rechner Sie durchlaufen wollen, kann das natürlich einige Zeit dauern, aber es ist machbar. Hier ist ein einfaches Codeschnipsel, wie man herausfindet, wo ein Benutzer angemeldet ist.

ErrorAction SilentlyContinue wird verwendet, um Verbindungsfehler zu unterdrücken und eine saubere Ausgabe anzuzeigen

So, da haben Sie es, eine schnelle und einfache Lösung für ein Problem, auf das viele IT-Administratoren auf ihrer Reise als Systemadministrator gestoßen sind. Ich bin mir bewusst, dass Sie dies auch über Gruppenrichtlinien tun können, wenn Sie diesen Weg gehen wollen, oder Sie können dies über ein GUI-Tool tun, aber ich mag es immer, meine Hände mit Powershell schmutzig zu machen.

Articles

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.