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-Key: 1544323737

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

Printed on: April 25, 2024 at 08:04 o'clock

Member: the-datzl
the-datzl Nov 23, 2021 at 16:28:29 (UTC)
Goto Top
Wir setzen dafür seit etlichen Jahren auf Userlock ( www.isdecisions.com/products/userlock/ )
Member: lcer00
lcer00 Nov 23, 2021 at 19:08:47 (UTC)
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
Member: erikro
erikro Nov 23, 2021 at 22:22:29 (UTC)
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
Member: emeriks
emeriks Nov 24, 2021 at 07:22:19 (UTC)
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.
Member: niefre
niefre Nov 24, 2021 at 09:00:24 (UTC)
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!
Member: niefre
niefre Nov 24, 2021 at 09:02:17 (UTC)
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!
Member: niefre
niefre Nov 24, 2021 at 09:12:51 (UTC)
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
Member: holliknolli
holliknolli Nov 24, 2021 at 13:43:48 (UTC)
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.
Member: the-datzl
the-datzl Nov 25, 2021 updated at 19:19:58 (UTC)
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.