darodesk
Goto Top

Benutzergruppe per Script für kurze Zeit sperren

Hallo,
aus verschiedenen Gründen ist es notwendig, remote auf dem 2003 SBS Server ein Script auszuführen, welches für eine bestimmte Zeit eine bestimmte Gruppe von Nutzern sperrt und dann wieder freigibt. Wie könnte man soetwas realisieren?

Danke und Gruß

Content-ID: 96099

Url: https://administrator.de/forum/benutzergruppe-per-script-fuer-kurze-zeit-sperren-96099.html

Ausgedruckt am: 06.04.2025 um 10:04 Uhr

60730
60730 04.09.2008 um 16:08:11 Uhr
Goto Top
Servus,

eventuell per Kixtart Script und den Befehlen:
IF INGROUP "gruppe darf nicht"  
 IF EXIST (@LDRIVE + "\nologon.txt")  
  ? Sie dürfen sich derzeit nicht anmelden, das System wird gewartet und Ihr system neu gestartet ;-)
  call shutdown.exe -r
 endif
endif
... dann mußt du "nur" diese gruppe anlegen, Kix als Loginscript benutzen und im Fall der Fälle eine nologon.txt anlegen.
Gruß
Logan000
Logan000 05.09.2008 um 09:19:28 Uhr
Goto Top
Moin Moin

Dieses Skript deaktiverit alle Useraccounts in der Gruppe "MyGroup"

On Error Resume Next
Domain= "MyDomain"  
DomSuffix= "de"  
GroupName = "MyGroup"  
Const ADS_SCOPE_SUBTREE = 2
Const ADS_UF_ACCOUNTDISABLE = 2
Set objConnection = CreateObject("ADODB.Connection")  
Set objCommand =   CreateObject("ADODB.Command")  
objConnection.Provider = "ADsDSOObject"  
objConnection.Open "Active Directory Provider"  
Set objCommand.ActiveConnection = objConnection
objCommand.Properties("Page Size") = 1000  
objCommand.Properties("Searchscope") = ADS_SCOPE_SUBTREE   
objCommand.CommandText = "SELECT Name, ADSPath FROM 'LDAP://dc=" & Domain & ",dc=" & DomSuffix & "' WHERE objectCategory='group' AND Name='" & GroupName & "'"  
Set objRecordSet = objCommand.Execute
If objRecordSet.recordCOunt =1 Then
	objRecordSet.MoveFirst
	Set objGroup = GetObject (objRecordSet.Fields("ADSPath").Value)   
	objGroup.GetInfo	
	arrMemberOf = objGroup.GetEx("member")	  
	For Each strMember in arrMemberOf	
		Set objUser = GetObject ("LDAP://" & strMember)  
		intUAC = objUser.Get("userAccountControl")  
		objUser.Put "userAccountControl", intUAC OR ADS_UF_ACCOUNTDISABLE 	' Account Disablen  
		'objUser.AccountDisabled = FALSE											   	' Account enablen  
		objUser.SetInfo
	Next
else
	MSGBOX("Eine Gruppe mit dem Namen '" & GroupName & "' konte nicht gefunden werden.")  
end if

in Zeile 25 ist (auskommentiert) der Code zum Enablen des Accounts.

Gruß L.
darodesk
darodesk 05.09.2008 um 09:25:31 Uhr
Goto Top
Hallo,
das ist perfekt, danke!

Gruß Daniel
Logan000
Logan000 05.09.2008 um 10:07:07 Uhr
Goto Top
Moin

Dann sei doch so gut und setze den Beitrag auf erledigt.

Danke.
Gruß L.