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

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

Printed on: April 24, 2024 at 09:04 o'clock

Mitglied: 60730
60730 Sep 04, 2008 at 14:08:11 (UTC)
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ß
Member: Logan000
Logan000 Sep 05, 2008 at 07:19:28 (UTC)
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.
Member: darodesk
darodesk Sep 05, 2008 at 07:25:31 (UTC)
Goto Top
Hallo,
das ist perfekt, danke!

Gruß Daniel
Member: Logan000
Logan000 Sep 05, 2008 at 08:07:07 (UTC)
Goto Top
Moin

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

Danke.
Gruß L.