bsharath
asked on
Exchange user account forward to be removed.
Hi,
Exchange user account forward to be removed.
As attached i want to uncheck the checkbox for all users whose email id's i have in a txt file
Can anyone help
Thanks
Raja
Forward.JPG
Exchange user account forward to be removed.
As attached i want to uncheck the checkbox for all users whose email id's i have in a txt file
Can anyone help
Thanks
Raja
Forward.JPG
ASKER
Thanks Rob will check as the Server is down now
Help one this
https://www.experts-exchange.com/questions/27317075/help-on-how-to-disable-Print-screen-or-fn-print-screen.html
Help one this
https://www.experts-exchange.com/questions/27317075/help-on-how-to-disable-Print-screen-or-fn-print-screen.html
ASKER
Hi Rob any help with this
https://www.experts-exchange.com/questions/27319138/Run-this-batch-code-in-all-machines.html
https://www.experts-exchange.com/questions/27319138/Run-this-batch-code-in-all-machines.html
ASKER
Rob should i put email address in the txt file?
Does it remove hire from user or contacts
Does it remove hire from user or contacts
It will be user login names in the file, and it will affect user accounts only.
The forwarding address will remain, it's just the "deliver message to both forwarding address and mailbox" option that is removed.
Rob.
The forwarding address will remain, it's just the "deliver message to both forwarding address and mailbox" option that is removed.
Rob.
ASKER
Rob,
Can this be changed to email address
Like check if email id matches and remove the forward tick and results on success and failure into a file please
i checked with ntlogin and it works fine
Can this be changed to email address
Like check if email id matches and remove the forward tick and results on success and failure into a file please
i checked with ntlogin and it works fine
OK, try this.
Rob.
Rob.
strInputFile = "useremails.txt"
Const intForReading = 1
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objInputFile = objFSO.OpenTextFile(strInputFile, intForReading, False)
While Not objInputFile.AtEndOfStream
strUserADsPath = ""
strEmail = objInputFile.ReadLine
strUserADsPath = Get_LDAP_User_Properties("user", "mail", strEmail, "ADsPath")
If InStr(strUserADsPath, "LDAP://") > 0 Then
Set objUser = GetObject(strUserADsPath)
objUser.deliverAndRedirect = False
objUser.SetInfo
Else
Wscript.Echo "Could not find user account with email address of " & strEmail
End If
Wend
objInputFile.Close
Set objInputFile = Nothing
Set objFSO = Nothing
MsgBox "Finished."
Function Get_LDAP_User_Properties(strObjectType, strSearchField, strObjectToGet, strCommaDelimProps)
' This is a custom function that connects to the Active Directory, and returns the specific
' Active Directory attribute value, of a specific Object.
' strObjectType: usually "User" or "Computer"
' strSearchField: the field by which to seach the AD by. This acts like an SQL Query's WHERE clause.
' It filters the results by the value of strObjectToGet
' strObjectToGet: the value by which the results are filtered by, according the strSearchField.
' For example, if you are searching based on the user account name, strSearchField
' would be "samAccountName", and strObjectToGet would be that speicific account name,
' such as "jsmith". This equates to "WHERE 'samAccountName' = 'jsmith'"
' strCommaDelimProps: the field from the object to actually return. For example, if you wanted
' the home folder path, as defined by the AD, for a specific user, this would be
' "homeDirectory". If you want to return the ADsPath so that you can bind to that
' user and get your own parameters from them, then use "ADsPath" as a return string,
' then bind to the user: Set objUser = GetObject("LDAP://" & strReturnADsPath)
' Now we're checking if the user account passed may have a domain already specified,
' in which case we connect to that domain in AD, instead of the default one.
If InStr(strObjectToGet, "\") > 0 Then
arrGroupBits = Split(strObjectToGet, "\")
strDC = arrGroupBits(0)
strDNSDomain = strDC & "/" & "DC=" & Replace(Mid(strDC, InStr(strDC, ".") + 1), ".", ",DC=")
strObjectToGet = arrGroupBits(1)
Else
' Otherwise we just connect to the default domain
Set objRootDSE = GetObject("LDAP://RootDSE")
strDNSDomain = objRootDSE.Get("DefaultNamingContext")
'strDNSDomain = objRootDSE.Get("RootDomainNamingContext")
End If
strBase = "<LDAP://" & strDNSDomain & ">"
' Setup ADO objects.
Set adoCommand = CreateObject("ADODB.Command")
Set adoConnection = CreateObject("ADODB.Connection")
adoConnection.Provider = "ADsDSOObject"
adoConnection.Open "Active Directory Provider"
adoCommand.ActiveConnection = adoConnection
' Filter on user objects.
'strFilter = "(&(objectCategory=person)(objectClass=user))"
strFilter = "(&(objectClass=" & strObjectType & ")(" & strSearchField & "=" & strObjectToGet & "))"
' Comma delimited list of attribute values to retrieve.
strAttributes = strCommaDelimProps
arrProperties = Split(strCommaDelimProps, ",")
' Construct the LDAP syntax query.
strQuery = strBase & ";" & strFilter & ";" & strAttributes & ";subtree"
adoCommand.CommandText = strQuery
' Define the maximum records to return
adoCommand.Properties("Page Size") = 100
adoCommand.Properties("Timeout") = 30
adoCommand.Properties("Cache Results") = False
MsgBox strQuery
' Run the query.
Set adoRecordset = adoCommand.Execute
' Enumerate the resulting recordset.
strReturnVal = ""
Do Until adoRecordset.EOF
' Retrieve values and display.
For intCount = LBound(arrProperties) To UBound(arrProperties)
If strReturnVal = "" Then
strReturnVal = adoRecordset.Fields(intCount).Value
Else
strReturnVal = strReturnVal & VbCrLf & adoRecordset.Fields(intCount).Value
End If
Next
' Move to the next record in the recordset.
adoRecordset.MoveNext
Loop
' Clean up.
adoRecordset.Close
adoConnection.Close
Get_LDAP_User_Properties = strReturnVal
End Function
ASKER
Perfect works fine
Can i have a Results on success and failures
Can i have a Results on success and failures
ASKER
Hi Rob any help with this
https://www.experts-exchange.com/questions/27319138/Run-this-batch-code-in-all-machines.html
https://www.experts-exchange.com/questions/27319138/Run-this-batch-code-in-all-machines.html
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Regards,
Rob.
Open in new window