niefre
Goto Top

Doppelte Anmeldung blockieren, Domänennetzwerk

Salü Zusammen

Ein Kunde von uns möchte, dass sich seine Mitarbeiter nur an einem x-beliebigen Computer anmelden können. Der Kunde möchte dies, weil seine 70 Mitarbeiter die Angewohnheit haben, sich an mehreren Computern gleichzeitig anzumelden, was immer wieder zu Problemen mit dem Servergespeicherten Profil führt. Achtung, um mein Anliegen richtig zu verstehen: Der Benutzer soll sich an einem x-beliebigen Computer anmelden können, aber total nur 1x. Nach meinen Nachforschungen gibt es dazu kein Microsoft-Bordmittel.

Clients: Windows 10 Pro Clients
Server: Domänencontroller, Windows Server 2019 Standard, ActiveDirectory Benutzerverwaltung

Nun meine eigentliche Frage:
Ist es möglich, dass;
1. Der Benutzer gibt sein Login am Computer ein und will sich anmelden
2. Ein Powershell Script prüft vor/während der Anmeldung, ob der Benutzer bereits am System angemeldet ist
a. Ist der Benutzer bereits angemeldet, wird dem Benutzer eine Informationsmeldung angezeigt und der Benutzer wird nach ca. 10 Sekunden automatisch abgemeldet
b. Ist der Benutzer noch nicht angemeldet, wird die Anmeldung normal durchgeführt und der Benutzer kann arbeiten

Meine Ideen dazu sind:
- Powershell z.B. get-smbsessions, wenn der Benutzer bereits in der Liste vorhanden ist, dann wird er gleich wieder abgemeldet
- Powershell z.B. Benutzer Zeitstempel prüfen: Wenn LogonZeitstempel neuer ist als LogoffZeitstempel und älter als z.B. 5 Minuten (so soll die gerade stattgefundene Anmeldung nicht mitzählen oder das Script läuft vor der eigentlichen Anmeldung ab), dann wird der Benutzer wieder abgemeldet

Ich kenne mich zu wenig aus mit PowerShell um den Aufwand und die Möglichkeiten hinter meinem Anliegen zu erkennen.
Hat jemand eine Idee oder bereits so etwas umgesetzt?

Vielen Dank bereits im Voraus für eure Hilfe!

Es Grüessli
Martina

Content-ID: 1544323737

Url: https://administrator.de/contentid/1544323737

Ausgedruckt am: 19.11.2024 um 07:11 Uhr

the-datzl
the-datzl 23.11.2021 um 17:28:29 Uhr
Goto Top
Wir setzen dafür seit etlichen Jahren auf Userlock ( www.isdecisions.com/products/userlock/ )
lcer00
lcer00 23.11.2021 um 20:08:47 Uhr
Goto Top
Hallo,

bedenke, dass Du bei Fehlfunktionen einer Skriptlösung einen kompletten Lockout des Users riskierst. So wie einem verwaisten lockfile.

Grüße

lcer
erikro
erikro 23.11.2021 um 23:22:29 Uhr
Goto Top
Moin,

da hätte ich an den Kunden zwei Rückfragen:

1. Warum melden sich die User an mehreren Rechnern gleichzeitig an? Haben die keine festen Arbeitsplätze?
2. Warum führt das zu welchen Problemen im Profil?

Liebe Grüße

Erik
emeriks
emeriks 24.11.2021 um 08:22:19 Uhr
Goto Top
Hi,
eine Lösung könnte sein, auf ThinClients und Terminalserver umzustellen. Bei Terminalservern (oder ganzen Farmen davon) kann man einstellen, dass ein Benutzer von einem Desktop nur genau eine Instanz haben kann. Wenn er am 2. Client den Desktop startet, dann wird er vom 1. Client übernommen.

Mit einem Script könnte man es in etwa so erledigen:
  1. Das Script läuft nicht bei nur Anmeldung, sondern als Scheduled Task alle x Minuten.
  2. Es schreibt in eine zentrale DB einen Zeitstempel mit Benutzernamen und Client. Dieser Zeitstempel müsste dann in der laufenden Sitzung immer im selben Datensatz aktualisiert werden, um verwaiste Datensätze erkennen zu können. Also Datensatz-ID z.B. in Registry merken, o.ä.
  3. Es prüft dann die vorhandenen Datensätze, welche aktuelle Stempel haben, und reagiert entsprechend der vorgesehenen Logik.
Punkt 2 sollte ein ungewolltes Aussperren des Benutzers verhindern. Natürlich müssten dann noch weitere Sachen festgelegt werden. Z.B.
  • Ob es einen primären Client des Benutzers gibt und welcher das ist.
  • Das Script muss natürlich auch Zugriffsproblem auf die DB abfangen und darf dann bei Störungen keine ungewollten (Fehl-)Aktionen auslösen.
usw.

E.
niefre
niefre 24.11.2021 um 10:00:24 Uhr
Goto Top
Salü und Danke für Deine Info.
Ich habe von dem Programm bereits gehört/gelesen und infolge wiederholender Kosten von jährlich 1500 Euro für 70 Benutzer mich nach einer anderen Lösung umgehört.
So wie ich die anderen Kommentare gelesen habe, ist dieses Tool wohl aber die Professionellste Lösung ohne mit einem Skript allfällige neue Problem zu schaffen.

Ich gebe das dem Kunden gerne so weiter, Danke!
niefre
niefre 24.11.2021 um 10:02:17 Uhr
Goto Top
Zitat von @the-datzl:

Wir setzen dafür seit etlichen Jahren auf Userlock ( www.isdecisions.com/products/userlock/ )


Salü und Danke für Deine Info.
Ich habe von dem Programm bereits gehört/gelesen und infolge wiederholender Kosten von jährlich 1500 Euro für 70 Benutzer mich nach einer anderen Lösung umgehört.
So wie ich die anderen Kommentare gelesen habe, ist dieses Tool wohl aber die Professionellste Lösung ohne mit einem Skript allfällige neue Problem zu schaffen.

Ich gebe das dem Kunden gerne so weiter, Danke!
niefre
niefre 24.11.2021 um 10:12:51 Uhr
Goto Top
Salü Icer00, Erikro und Emeriks

Merci für eure Gedanken und Inputs!
Irgendwie habe ich bereits befürchtet, dass meine Idee wieder zusätzliche andere Probleme / Aussperrungen generieren könnte. Somit sehe ich von einem Skript ab und werde das mit dem Kunden anschauen, ob er auf eine professionelle Software umsteigen will oder ob er die bestehende Situation mit den Mitarbeitern so beibehält. Und nein, die Mitarbeiter haben keinen festen Arbeitsplatz. Die Mitarbeiter arbeiten in geschütztem Umfeld (Geschützte Arbeitsplätze), oft Teilzeit und nicht konstant gleich.

Danke Emeriks für Deine detaillierte Info und Möglichkeit. Der Aufwand für ein solches Skript ist für mich als Power-Shell Anfänger jedoch zu gross, um dies als Dienstleistung und Produkt an den Kunden zu bringen. Deine Überlegungen haben mir aber für das Verständnis der Programmierung sehr weiter geholfen, Merci!

Somit schliesse ich dieses Thema und wünsche euch allen einen tollen Tag!

Martina
holliknolli
holliknolli 24.11.2021 um 14:43:48 Uhr
Goto Top
Zitat von @niefre:

Achtung, um mein Anliegen richtig zu verstehen: Der Benutzer soll sich an einem x-beliebigen Computer anmelden können, aber total nur 1x. Nach meinen Nachforschungen gibt es dazu kein Microsoft-Bordmittel.


Also für das hab ich auf die Schnelle kein Rezept, allerdings kann man mittels GPOs einstellen (egal ob lokal oder serverseitig), dass Benutzer nach einger gewissen Zeitspanne Inaktivität aut. abgemeldet werden. Dies dürfte dann den gleichen Effekt haben, wenn da z.B. 3-5 Minuten eingestellt sind.
the-datzl
the-datzl 25.11.2021 aktualisiert um 20:19:58 Uhr
Goto Top
Ich habe von dem Programm bereits gehört/gelesen und infolge wiederholender Kosten von jährlich 1500 Euro für > 70 Benutzer mich nach einer anderen Lösung umgehört.

Wir setzen das in unserer Schule ein und erhalten hier dementsprechend einen (großen) Bildungsrabatt.