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
578 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
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 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

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

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

Suggested Solutions

If you haven’t already, I encourage you to read the first article (http://www.experts-exchange.com/articles/18680/An-Introduction-to-R-Programming-and-R-Studio.html) in my series to gain a basic foundation of R and R Studio.  You will also find the …
In threads here at EE, each comment has a unique Identifier (ID). It is easy to get the full path for an ID via the right-click context menu. However, we often want to post a short link within a thread rather than the full link. This article shows a…
This tutorial will teach you the core code needed to finalize the addition of a watermark to your image. The viewer will use a small PHP class to learn and create a watermark.
The viewer will be introduced to the member functions push_back and pop_back of the vector class. The video will teach the difference between the two as well as how to use each one along with its functionality.

752 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