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
570 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

Master Your Team's Linux and Cloud Stack!

The average business loses $13.5M per year to ineffective training (per 1,000 employees). Keep ahead of the competition and combine in-person quality with online cost and flexibility by training with Linux Academy.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

This article is the result of a quest to better understand Task Scheduler 2.0 and all the newer objects available in vbscript in this version over  the limited options we had scripting in Task Scheduler 1.0.  As I started my journey of knowledge I f…
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 …
The viewer will be introduced to the technique of using vectors in C++. The video will cover how to define a vector, store values in the vector and retrieve data from the values stored in the vector.
Video by: Mark
This lesson goes over how to construct ordered and unordered lists and how to create hyperlinks.

790 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