Bouncer 1.00

Jeder, der schon einmal Probleme mit korrupten Benutzerprofilen wegen Mehrfachanmeldung des Benutzers hatte, wird sich freuen, dass es dafür nun eine Lösung gibt. Die Problematik ist, dass es sich mit Bordmitteln von Microsoft nicht einschränken lässt, an wievielen Computern sich ein Benutzer gleichzeitig anmeldet. Hierfür kann dieses kleine Script Abhilfe schaffen:

Das Vorgehen ist sehr enfach: Beim Login wird das Script „Bouncer LOGIN“ abgearbeitet, welches das Attribut „LogonWorkstations“ des anmeldenden Benutzers einfach auf denjenigen Computer einschränkt, an welchem er sich gerade angemeldet hat. Falls er nun versucht, sich an einem anderen Computer anzumelden, wird die Standardmeldung von Windows angezeigt, welche besagt, dass eine Anmeldung an diesem System nicht möglich ist. Diese Standardmeldung lässt sich leider nicht anpassen – ist jedoch aussagefähig genug…

Bei der Abmeldung wird dann das Script „Bouncer LOGOUT“ ausgeführt, welches die Einträge im Attribut „LogonWorkstations“ einfach wieder zurücksetzt und somit wieder eine Anmeldung an einem beliebigen Computer zulässt.

Wichtig: Ein Benutzer muss für den Einsatz des Script natürlich über die Berechtigung verfügen, das Attribut „LogonWorkstations“ zu lesen und beschreiben zu können.

Die nachfolgenden beiden Scripts müssen dann einfach über eine Gruppenrichtlinie bei der An-, resp. Abmeldung an einem System ausgeführt werden:

Bouncer LOGIN Script:

‚ **********************************************************************************************
‚ **********************************************************************************************
‚ Bouncer 1.00 LOGIN ***************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************

‚ Autor   André Pflaum, iTrain GmbH
‚ Datum   27.08.2009
‚ Version   1.00
‚ Beschreibung Ändert bei der Anmeldung das Attribut „userWorkstations“ in AD auf den Computer,
‚     auf welchem die Anmeldung erfolgte. Sobald sich ein Benutzer gleichzeitig (vor
‚     einem LogOut) an einem anderen Computer anmelden möchte, wird diese Anmeldung
‚    verweigert. Für die Einrichtung muss das An- und Abmelde-Script für Bouncer
‚    über eine Gruppenrichtlinie implementiert werden und die Benutzer müssen über
‚    Schreibberechtigungen auf dem entsprechenden Attribut „userWorkstations“
‚    besitzen.

‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************

Set objNetwork = CreateObject(„WScript.Network“)
strUser = objNetwork.UserName
Set objNetwork = CreateObject(„WScript.Network“)
strComputerName = objNetwork.ComputerName

strComputer = „.“
 
Set objWMI = GetObject(„winmgmts:\\“ & strComputer & „\root\directory\LDAP“)
Set objUsers = objWMI.ExecQuery(„SELECT * FROM ds_user where ds_samAccountName = ‚“ & strUser & „‚“)

If objUsers.Count > 0 Then

 For Each objItem In objUsers
  strDN = objItem.DS_distinguishedName
 Next

 Set objUser = GetObject(„LDAP://“ & strDN)

 objUser.Put „userWorkstations“, strComputerName
 objUser.SetInfo

End If

Bouncer LOGOUT Script:

‚ **********************************************************************************************
‚ **********************************************************************************************
‚ Bouncer 1.00 LOGOUT **************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************

‚ Autor   André Pflaum, iTrain GmbH
‚ Datum   27.08.2009
‚ Version   1.00
‚ Beschreibung Ändert bei der Anmeldung das Attribut „userWorkstations“ in AD auf den Computer,
‚     auf welchem die Anmeldung erfolgte. Sobald sich ein Benutzer gleichzeitig (vor
‚     einem LogOut) an einem anderen Computer anmelden möchte, wird diese Anmeldung
‚    verweigert. Für die Einrichtung muss das An- und Abmelde-Script für Bouncer
‚    über eine Gruppenrichtlinie implementiert werden und die Benutzer müssen über
‚    Schreibberechtigungen auf dem entsprechenden Attribut „userWorkstations“
‚    besitzen.

‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************
‚ **********************************************************************************************

Const ADS_PROPERTY_CLEAR = 1

Set objNetwork = CreateObject(„WScript.Network“)
strUser = objNetwork.UserName
strComputer = objNetwork.ComputerName

strComputer = „.“
 
Set objWMI = GetObject(„winmgmts:\\“ & strComputer & „\root\directory\LDAP“)
Set objUsers = objWMI.ExecQuery(„SELECT * FROM ds_user where ds_samAccountName = ‚“ & strUser & „‚“)

If objUsers.Count > 0 Then

 For Each objItem In objUsers
  strDN = objItem.DS_distinguishedName
 Next

 Set objUser = GetObject(„LDAP://“ & strDN)
 
 objUser.PutEx ADS_PROPERTY_CLEAR, „userWorkstations“, 0
 objUser.SetInfo

End If

Viel Spass damit!

VN:F [1.9.22_1171]
Rating: 0.0/10 (0 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)

Schreib einen Kommentar