Monday, March 26, 2007

Add Email Addresses Script

Adds an email address to accounts listed in input.txt

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)
sAddress = "smtp:" & oUser.givenName & "." & oUser.SN & "@tgt1.company.com"
bIsFound = False
vProxyAddresses = oUser.ProxyAddresses
nProxyAddresses = UBound(vProxyAddresses)
i = 0
Do While i <= nProxyAddresses
If vProxyAddresses(i) = sAddress Then
bIsFound = True
'wscript.echo "address already exists for " & sUser
Exit Do
End If
i = i + 1
Loop
If Not bIsFound Then
wscript.echo "Adding " & sAddress
ReDim Preserve vProxyAddresses(nProxyAddresses + 1)
vProxyAddresses(nProxyAddresses + 1) = sAddress
oUser.ProxyAddresses = vProxyAddresses
oUser.SetInfo

End If
Loop Until oTextFile.AtEndOfLine = true
wscript.Echo "All Done"

No comments: