Monday, March 26, 2007

Clear Attribute Script

Clears an attribute (here targetAddress) from each account listed in input.txt.

Const ADS_PROPERTY_CLEAR = 1
Const ADS_NAME_INITTYPE_GC = 3
Const ADS_NAME_TYPE_NT4 = 3
Const ADS_NAME_TYPE_1779 = 1 'Distinguished Name
Set oRootDSE = GetObject("LDAP://RootDSE")
sDNSDomain = oRootDSE.Get("defaultNamingContext")
Set oTrans = CreateObject("NameTranslate")
oTrans.Init ADS_NAME_INITTYPE_GC, sDNSDomain
oTrans.Set ADS_NAME_TYPE_1779, sDNSDomain
sNetBIOSDomain = oTrans.Get(ADS_NAME_TYPE_NT4)
sNetBIOSDomain=Left(sNetBIOSDomain,Len(sNetBIOSDomain)-1)
sFile = "input.txt"
set oFSO = CreateObject("Scripting.FileSystemObject")
set oTextFile = oFSO.OpenTextFile (sFile)
Do
sUser = oTextFile.ReadLine
oTrans.Init ADS_NAME_TYPE_1779, sNetBIOSDomain
oTrans.Set ADS_NAME_TYPE_NT4, sNetBIOSDomain & "\" & sUser
sUserDN = oTrans.Get(ADS_NAME_TYPE_1779)
set oUser = GetObject ("LDAP://" & sUserDN)
oUser.PutEx ADS_PROPERTY_CLEAR, "targetAddress", 0
oUser.SetInfo
Loop Until oTextFile.AtEndOfLine = true
wscript.Echo "All Done"

No comments: