<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-380939664058310203</id><updated>2011-04-21T22:19:16.669-07:00</updated><title type='text'>ELDAPINO!!!</title><subtitle type='html'>Forgive me, El Guapo. I know that I, Jefe, do not have your superior intellect and education. But could it be that once again, you are angry at something else, and are looking to take it out on me?</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>6</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-8600066432904137866</id><published>2009-03-05T06:49:00.000-08:00</published><updated>2009-03-05T06:53:29.333-08:00</updated><title type='text'>Splitting Log files</title><content type='html'>Here's how you can split any file into as many multiple parts as you need.  This is good for when you need to read very large log files on windows machines.&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Option Explicit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;'variables for the text files&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Dim sourcefile,target1,targetDir,basename,targetfile,strfilenum,filenumber,linenumber&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;'variables objects&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Dim objfs, isnotsplit, WorkingFolder&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;'initialize arguments&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     Set objfs = CreateObject("Scripting.FileSystemObject")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     Set WorkingFolder = objfs.GetFolder(".\")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     sourcefile = WorkingFolder &amp;amp; "\source.txt"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;      basename = "splitlog"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    targetDir = WorkingFolder &amp;amp; "\newfiles\"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     filenumber = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     linenumber = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     ' check the file exists&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;     If objFS.FileExists( sourceFile ) Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          WScript.Echo ("input file exists...")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          strfilenum = "" &amp;amp; filenumber &amp;amp; ""&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          targetfile = targetDir + "\" + basename + "_" + strfilenum + "." + objFS.GetExtensionName(sourceFile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          Set target1 = objFS.CreateTextFile(targetfile, True)   &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;           WScript.Echo "Creating file " &amp;amp; filenumber &amp;amp; "."&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;           &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          With objfs.OpenTextFile(sourceFile)  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;       &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;            &lt;span style="color: rgb(255, 0, 0);"&gt;While Not .AtEndOfStream  &lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                  ' new files          &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                  If linenumber &lt;&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                     target1.WriteLine .ReadLine &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                     linenumber = linenumber + 1 &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                   Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       target1.WriteLine .ReadLine&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       target1.close &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       filenumber = filenumber + 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       strfilenum = "" &amp;amp; filenumber &amp;amp; ""&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                       targetfile = targetDir + "\" + basename + "_" + strfilenum + "." + objFS.GetExtensionName(sourceFile)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                      Set target1 = objFS.CreateTextFile(targetfile, True)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                      linenumber = 1&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;                      WScript.Echo "Creating file " &amp;amp; filenumber &amp;amp; "."&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;                  End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;              Wend  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;          .Close  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;        End With  &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    target1.Close&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    If( strfilenum = 1 ) Then&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;        WScript.Echo ("input file not split(Too Small)...")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;           WScript.Echo ("input file split...")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    End If&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    WScript.Echo ("input file does not exist...")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;End if&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;WScript.Echo ("finished!")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;'end&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;No matter how many resulting parts you need, this script will work.  every 60,000 lines it just starts a new file with a new file name.   I used this to split a log with over 1.2million lines.(180 meg txt file.)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-8600066432904137866?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/8600066432904137866/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=8600066432904137866' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/8600066432904137866'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/8600066432904137866'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2009/03/splitting-log-files.html' title='Splitting Log files'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-4987856335162612829</id><published>2009-02-11T14:21:00.000-08:00</published><updated>2009-02-11T14:22:53.461-08:00</updated><title type='text'>ADO RECORD SETS.</title><content type='html'>&lt;span class="595212022-11022009"&gt;&lt;span style="font-family:Arial;font-size:85%;"&gt;An ado  recordset(vbscript) does not iterate when you put it in a do while loop.&lt;br /&gt;&lt;br /&gt;You have to tell  it to iterate with the command &lt;span style="font-family:Times New Roman;font-size:100%;"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;adoRecordset.MoveNext.&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;See?  That wasn't hard.  Too bad it took me 2 freaking  hours to find and remember!!!!!!!&lt;br /&gt;&lt;br /&gt;Thank you for your time.  Have a good day. :)&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-4987856335162612829?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/4987856335162612829/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=4987856335162612829' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/4987856335162612829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/4987856335162612829'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2009/02/ado-record-sets.html' title='ADO RECORD SETS.'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-6089339465333833030</id><published>2009-02-06T09:09:00.001-08:00</published><updated>2009-02-06T09:34:55.643-08:00</updated><title type='text'>HOW TO QUERY SUN ONE LDAP WITH VBSCRIPT</title><content type='html'>I have searched high and I have searched low, but even though all M$ documentation claims that VB script can be used to work on any Version 3 Compliant LDAP Directory, I could not find any one or any documentation on how to do it. &lt;br /&gt;&lt;br /&gt;After a time I figured out how to bind to LDAP using the DSObject binding and load the LDAP directory into a collection.&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;&lt;/span&gt;&lt;span style="color: rgb(51, 102, 255);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Set objDSO = GetObject(strProvider)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Set objDomain = objDSO.OpenDSObject (LDAP://server1.domain.com/ou=people,dc=domain,dc=com,CN=ADMIN USERID, Password, 0)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will load the LDAP directory in it's entirety and allow you manipulate any user and make modifications or reports. &lt;br /&gt;&lt;br /&gt;The down side is that it's very slow to manipulate and if you need to do a comparision between the LDAP collection and a csv (for example) you may end up reloading the collection several times and it can run very slowly.&lt;br /&gt;&lt;br /&gt;Recently I have discovered another way to work with LDAP in VBscript.  You can use an ADO search to query ldap and return only the attributes you want to work with.  This is much faster than using the OpenDSObject and allows you do queries and comparisions and load the individual users if you need to do modifications.  &lt;br /&gt;&lt;br /&gt;To do an ADO search&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;' Use ADO to search Active Directory.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Set adoCommand = CreateObject("ADODB.Command")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Set adoConnection = CreateObject("ADODB.Connection")&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoConnection.Provider = "ADsDSOObject"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoConnection.Properties("User ID") = "cn=ADMINID"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoConnection.Properties("Password") = "PASSWORD"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoConnection.Properties("Encrypt Password") = False    &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoConnection.Open "Active Directory Provider"&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoCommand.ActiveConnection = adoConnection&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;'Search String&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;strBase = "&lt;ldap://serverfqdn/ou=people,dc=domain,dc=com&gt;"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;' Filter on all user objects.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;strFilter = "(objectClass=person)"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;' Comma delimited list of attribute values to retrieve.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;strAttributes = "cn,uid"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;' Construct the LDAP syntax query.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;strQuery = strBase &amp;amp; ";" &amp;amp; strFilter &amp;amp; ";" &amp;amp; strAttributes &amp;amp; ";subtree"&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt; ' Run the query.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoCommand.CommandText = strQuery&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoCommand.Properties("Page Size") = 100&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoCommand.Properties("Timeout") = 60&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;adoCommand.Properties("Cache Results") = False&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Set adoRecordset = adoCommand.Execute&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;' Enumerate resulting recordset.&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Do Until adoRecordset.EOF&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    strUID= adoRecordset.Fields("uid").Value&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    WScript.Echo strDN(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    strCN= adoRecordset.Fields("cn").Value&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;    WScript.Echo struid(0)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(51, 102, 255);"&gt;Loop&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are some oddities I'm still working through.  many values in LDAP seem to come up as arrays, rather htan string values, even though there are no other values in the array.   Others do not.  cn, and uid both came up as single value arrays, but the createtimestamp didn't.&lt;br /&gt;&lt;br /&gt;If you need to get a users DN through this query, simply query the attribute, entryDN.  yOu can use this to bind to the user and make modifications if needed, just as you would on AD.&lt;br /&gt;&lt;br /&gt;One other great thing you can do is use this same code to query Oracle Iternet Directory.  Unfortunately, OID does not have an ADSPATH (like AD) or an entryDN(LDAP) attribute so it may not help with searching users for the purposes of modifications, but you can use this method to run reports. &lt;br /&gt;&lt;br /&gt;Enjoy.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-6089339465333833030?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/6089339465333833030/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=6089339465333833030' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/6089339465333833030'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/6089339465333833030'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2009/02/how-to-query-sun-one-ldap-with-vbscript.html' title='HOW TO QUERY SUN ONE LDAP WITH VBSCRIPT'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-4872261179265866232</id><published>2008-11-18T11:24:00.000-08:00</published><updated>2008-11-18T12:17:54.359-08:00</updated><title type='text'>K.I.S.S</title><content type='html'>Quickly!!!! you must create 400 contacts in active directory and you must do it now otherwise users won't be able to mail these users in that other domain!!!!!!&lt;br /&gt;&lt;br /&gt;So off I go to build a script that will load from a .csv file and create contact entries with an smtp email address and an x500 address.&lt;br /&gt;&lt;br /&gt;All goes well.  my script loads the user list.  checks to make sure the user doesn't already have an AD account, or a contact entry.  In fact it even removes duplicates if it finds a contact and a user object both exist. (I needed that after the first time I ran the script and I realized it wasn't checking the user objects correctly.   I had a bunch of duplicates I created to remove)&lt;br /&gt;&lt;br /&gt;So now I'm at the meat of my script.  create contact.  check.   Make first name this.  Check.  Make Last name that.  Check.  Make the email address.  Check.  Add Proxy address. WRONG!!&lt;br /&gt;&lt;br /&gt;You see, proxy Address in Active Directory is an Array not a single valued attribute.  So when I set the addresses I need,&lt;br /&gt;&lt;br /&gt;SMTP: jsmith@company.com&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;X500: /o=company/ou=container/cn=Worldwide Address List/cn=smtp-john-smith-company-com&lt;br /&gt;&lt;br /&gt;only one address ends up in the user record.   This, of course is because my script is trying to add a proxy address like this&lt;br /&gt;&lt;br /&gt;objUser.Put "proxyAddresses",  "X500:"  &amp;amp; proxyAddressvariable&lt;br /&gt;objUser.Put "proxyAddresses",  "SMTP:"  &amp;amp; proxyAddressvariable&lt;br /&gt;&lt;br /&gt;So I did a search on the net for the best way to do this and what do I find?&lt;br /&gt;&lt;br /&gt;______________________________________________________________&lt;br /&gt;&lt;p style="color: rgb(51, 102, 255);" dir="ltr"&gt;Manipulating the e-mail addresses list of an Exchange recipient requires some array manipulation functions.&lt;/p&gt; &lt;p style="color: rgb(51, 102, 255);" dir="ltr"&gt;The UBound function retrieves the number of objects stored in an array. In order to add an e-mail address to athe proxyAddresses array of a recipient you would need to expand the number of objects stored in the array.&lt;/p&gt; &lt;p style="color: rgb(51, 102, 255);" dir="ltr"&gt;The Redim Preserve function allows you to expand an array while preserving its contents.&lt;/p&gt; &lt;blockquote dir="ltr" style="margin-right: 0px; color: rgb(51, 102, 255);"&gt; &lt;p dir="ltr"&gt;&lt;em&gt;    Set oUser = GetObject ("LDAP://CN=Buffy Summers,OU=Scoobies,DC=sunnydale,DC=muni")&lt;br /&gt;    Set objRecip = oUser&lt;br /&gt;    sAddress = "smtp:slayer@sunnydale.muni"&lt;br /&gt;    bIsFound = False&lt;br /&gt;    vProxyAddresses = objRecip.ProxyAddresses&lt;br /&gt;    nProxyAddresses = UBound(vProxyAddresses)&lt;br /&gt;    i = 0&lt;br /&gt;    Do While i &lt;= nProxyAddresses&lt;br /&gt;          If vProxyAddresses(i) = sAddress  Then&lt;br /&gt;             bIsFound = True&lt;br /&gt;                Exit Do&lt;br /&gt;          End If&lt;br /&gt;          i = i + 1&lt;br /&gt;    Loop&lt;br /&gt;    If Not bIsFound Then&lt;br /&gt;           ReDim Preserve vProxyAddresses(nProxyAddresses + 1)&lt;br /&gt;           vProxyAddresses(nProxyAddresses + 1) = sAddress&lt;br /&gt;           objRecip.ProxyAddresses = vProxyAddresses&lt;br /&gt;           oUser.SetInfo&lt;br /&gt;    End If&lt;/em&gt;&lt;/p&gt;&lt;/blockquote&gt;___________________________________________________________________&lt;br /&gt;&lt;br /&gt;Now I like at all this.   create an array and go through each contact and get the array of proxy addresses then redim the array variable to keep the data in the array but add a place for more data then add the new piece of data and save the whole thing back.   It's kind of interesting, but waaay more complex than needed.  This piece of script assumes you don't know what proxy addresses your users use.   Now, it won't be true for everyone, but in the case of the work I'm doing I just want to add the appropriate proxy addresses.    So after spending a chunk of time trying to adapt  the piece of script above to my needs and realizing that I can't use it at all as the contacts I'm manipulating don't have ANYTHING in their proxy address as I'm still creating them I resumed my search of the net until I found this.&lt;br /&gt;&lt;br /&gt;objUser.PutEx ADS_PROPERTY_APPEND, "proxyAddresses", Array (proxyAddress1,proxyAddress2)&lt;br /&gt;&lt;br /&gt;To be fair this one line has several varialbes that had to be defined.&lt;br /&gt;&lt;br /&gt;ADS_PROPERTY_APPEND = 2 (this is so the PutEX method knows to append rather than overwrite)&lt;br /&gt;proxyaddress1 = "SMTP:"  &amp;amp; proxyAddressvariable&lt;br /&gt;proxyaddress2 = "X500:"  &amp;amp; proxyAddressvariable&lt;br /&gt;&lt;br /&gt;I just can't help but notice how many times I search the web for code and find vastly interesting and complex scripts and scriptlets for things that can be done in 2 or 3 lines.   Now I'm not claiming to be better than anyone else when it comes to coding.  I'm not.  I'm very new and this rant alone seems  long drawn out and overly complex. But it does all lead to the point I laid out in the title of this rant.  Something I constantly need to remind myself both in my work and in my life.&lt;br /&gt;&lt;br /&gt;Keep It Simple Stupid&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-4872261179265866232?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/4872261179265866232/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=4872261179265866232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/4872261179265866232'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/4872261179265866232'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2008/11/kiss.html' title='K.I.S.S'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-3101551538947621732</id><published>2008-11-06T07:21:00.000-08:00</published><updated>2008-11-06T07:27:11.049-08:00</updated><title type='text'>On your own</title><content type='html'>Yes!!! No!!! Yes!!! No!!! Yes!!! No!!! Yes!!! No!!! Yes!!! No!!!&lt;br /&gt;&lt;br /&gt;NOOOOOOOOOOOOOOOOO&lt;br /&gt;&lt;br /&gt;This is how it's been for about 3 months now, but I think we finally have our firm no.  &lt;br /&gt;&lt;br /&gt;On the plus side this means I'm going to build an identity management solution from the ground up however we want. (we being the core tech team who are involved)  We do not have to build on someone else schedule.  We can build the pieces we benefit from most first and build the pieces that everyone else will benefit from last.   This is going to be GREAT. &lt;br /&gt;&lt;br /&gt;Of course, we have to build it all ourselves and we have NEVER done this before.  And if we fail, it's going to be bad.  But thankfully no one will notice for a while. :) &lt;br /&gt;&lt;br /&gt;The glamor is gone.  it's time for hard work.  And lots of Service Requests to Oracle.  LOTS OF THEM.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-3101551538947621732?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/3101551538947621732/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=3101551538947621732' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/3101551538947621732'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/3101551538947621732'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2008/11/on-your-own.html' title='On your own'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-380939664058310203.post-1706702000718213560</id><published>2008-10-28T13:30:00.000-07:00</published><updated>2008-10-28T13:43:37.337-07:00</updated><title type='text'>My first blog</title><content type='html'>Hello all.  This is my first blog...ever.  Today's topic is ORACLE IDENTITY MANAGER.   This topic will come up a lot.&lt;br /&gt;&lt;br /&gt;I would blog about how ridiculous it is to recover objects from the OIM database after they are deleted but you will find that on my masters site at&lt;br /&gt;&lt;br /&gt;http://eldapo.lembobrothers.com/2008/10/28/renaming-an-organization-in-oracle-identity-manager/&lt;br /&gt;&lt;br /&gt;So instead, I'll blog about Oracle support.  What can I say.  today i have spent the ENTIRE day working with Oracle support on 4 separate Service requests regarding OIM.   I've had 2 bugs filed on my behalf. (though I am told that unless we are going live soon, they won't escalate the bugs to have them fixed soon)   I have been told to upload screen shots/logs and asked where THEIR OWN documentation is on THEIR SITE.   &lt;br /&gt;&lt;br /&gt;On the plus side when we asked how to recover a deleted object we got an answer.  rename it and then create a new one.   And when i asked, but can we recover?  I was told it's a complicated process,  just use this for now.  And that is a very short version, of my day with oracle support.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/380939664058310203-1706702000718213560?l=eldapino.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://eldapino.blogspot.com/feeds/1706702000718213560/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=380939664058310203&amp;postID=1706702000718213560' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/1706702000718213560'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/380939664058310203/posts/default/1706702000718213560'/><link rel='alternate' type='text/html' href='http://eldapino.blogspot.com/2008/10/my-first-blog.html' title='My first blog'/><author><name>ELAPINO</name><uri>http://www.blogger.com/profile/10997675311274776678</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry></feed>
