Solved

Script that can get to a user's protocolsettings and remove the mapi from it. I want to query every user in a OU and do this one after the other

Posted on 2010-11-16
2
564 Views
Last Modified: 2012-05-10
Hi,

Script that can get to a user's protocolsettings and remove the mapi from it. I want to query every user in a OU and do this one after the other

Record the success or failure into a file.

Exchange 2003 & Windows 2003 Domain

Can anyone help please

regards
Sharath
Capture.JPG
0
Comment
Question by:bsharath
  • 2
2 Comments
 
LVL 8

Accepted Solution

by:
GundogTrainer earned 500 total points
ID: 34144753
I have edited one of my scripts that I use to remove other properties to provide a starting point.

Hopefully you will get the idea of what its trying to do:
first part is to enumerate all the objects in the specified OU.
 the for each of these objects check if they have a "MAPI" protocol and if so remove it.
if you update line 10 for your DN name \ ldap path to OU it will just display the objects it will be checking.
I would suggest you use it to pick on one and test it by uncommenting line 4 & 5 etc.

Just ensure you test it first !!!!

SySConUN=""

SySConPW=""



'x=getdata("LDAP://Servername/CN=test account,ou=Users,DC=test,dc=local")

'wscript.quit



 Set objAdRootDSE = GetObject("LDAP://RootDSE")

 varDefaultNC = objAdRootDSE.Get("defaultNamingContext")



 SQLSYSTEMS = "SELECT adspath,cn, distinguishedName,displayname FROM 'LDAP://Servername/ou=user accounts," & varDefaultNC & "'"

 Set SySConn = CreateObject("ADODB.Connection")

 Set SysCommand = CreateObject("ADODB.Command")

 SySConn.Provider = "ADSDSOObject"

 Sysconn.Open "Active Directory Provider" ,SySConUN,SySConPW

 set SysCommand.Activeconnection = SysConn

 SysCommand.commandtext = SQLSYSTEMS

 SYSCommand.Properties("Page Size")=100

 'wscript.echo SQLSYSTEMS

 Set SySrs = SysCommand.Execute



  if SySrs.recordcount >0 then



    MailboxesinIT6=SySrs.recordcount

    Do While Not SySrs.EOF Or SySrs.BOF

    ' x=getdata(SySrs.fields("adspath")

    wscript.echo SySrs.fields("adspath") ' diable this line once its working!

    SySrs.MoveNext

    Loop



  end if

 SySConn.close

 Set SySConn=nothing





function getdata(byref userDN)

 Set RefUser= getobject(UserDN)

 x= Refuser.protocolSettings

 newcnt=0

 Userupdate=0

 dim y()



 if isarray(x) then

  for pass= 0 to ubound(x)

    if left(x(pass),4)<>"MAPI" then 

      redim preserve y(newcnt)

      y(newcnt)=x(pass)

      newcnt=newcnt+1

    else

     'MAPI found so we will update the record

     Userupdate=1

    end if

  next

  if Update=1 then 

    Refuser.putex 2,"protocolSettings",y

    refuser.setinfo

    wscript.echo UserDN & chr(9) & "MAPI Removed"

   else

    wscript.echo UserDN & chr(9) & "Ignored"

   end if   

  'for t=0 to ubound(y)

  'wscript.echo y(t)

  'next

  else

  'not an array code here if needed.

 end if

end function

Open in new window

0
 
LVL 8

Expert Comment

by:GundogTrainer
ID: 34145417
oh to record it to a file execute it with the command cscript.exe //nologo script.vbs >>log.txt
0

Featured Post

Maximize Your Threat Intelligence Reporting

Reporting is one of the most important and least talked about aspects of a world-class threat intelligence program. Here’s how to do it right.

Join & Write a Comment

Having just graduated from college and entered the workforce, I don’t find myself always using the tools and programs I grew accustomed to over the past four years. However, there is one program I continually find myself reverting back to…R.   So …
When we want to run, execute or repeat a statement multiple times, a loop is necessary. This article covers the two types of loops in Python: the while loop and the for loop.
The goal of the video will be to teach the user the difference and consequence of passing data by value vs passing data by reference in C++. An example of passing data by value as well as an example of passing data by reference will be be given. Bot…
In this fourth video of the Xpdf series, we discuss and demonstrate the PDFinfo utility, which retrieves the contents of a PDF's Info Dictionary, as well as some other information, including the page count. We show how to isolate the page count in a…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

22 Experts available now in Live!

Get 1:1 Help Now