<?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-13198810</id><updated>2012-01-22T11:37:36.244-05:00</updated><title type='text'>This blog is by design...</title><subtitle type='html'>Just sharing some of the scripts I've written that make my life as a computer network engineer much easier.. Hope they help you out, please feel free to comment.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-13198810.post-114304545034910772</id><published>2006-03-22T11:29:00.000-05:00</published><updated>2006-03-22T11:37:30.350-05:00</updated><title type='text'>Report of all users with a mailbox, mail server name &amp; store name</title><content type='html'>By taking my lost post we can easily modify that to give us a basic report of all users along with with the mail server their mailbox resides on and which mail store their mailbox is in. Although it's possible to clip the CN= out of the results using vbscript, it's much easier to just import the text file that gets created into excel, select the entire column and do a replace on CN= and simply put nothing in the replace line. This nicely and neatly removes the CN= value allowing you to better sort. You can also clip any uneeded columns in there as well as there will be several that will likely be of no use. When importing the file into excel select both the comma and the semicolon as delimeters. Enjoy!&lt;br /&gt;&lt;br /&gt;'***************************************************&lt;br /&gt;'Kris Waters, http://krisdev.blogspot.com&lt;br /&gt;Const ForWriting = 2&lt;br /&gt;Const OpenAsASCII = 0&lt;br /&gt;strOutputFile = "c:\Mail_report.txt"&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;strDomain = "LDAP://"&amp; objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;Set objFSO = CreateObject("scripting.filesystemobject")&lt;br /&gt;Set objOutputFile = objFSO.CreateTextFile _&lt;br /&gt;(strOutputFile, ForWriting, OpenAsASCII)&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt;objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt;objCommand.ActiveConnection = objConnection&lt;br /&gt;&lt;br /&gt;objCommand.CommandText = "&lt;"&amp; strDomain &amp;"&gt;;(objectCategory=person)" &amp; _&lt;br /&gt;";distinguishedName,cn;subtree"&lt;br /&gt;objCommand.Properties("Page Size") = 6000&lt;br /&gt;&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordSet.EOF&lt;br /&gt;&lt;br /&gt;strUserDN = objRecordSet.Fields("DistinguishedName")&lt;br /&gt;set objUser = GetObject("LDAP://"&amp; strUserDN)&lt;br /&gt;&lt;br /&gt;If instr(objUser.homemdb,"CN=") &lt;&gt; 0 then&lt;br /&gt;objOutputfile.writeline objUser.sn &amp; ";" &amp; _&lt;br /&gt;objUser.givenName &amp;";"&amp; objUser.homemdb&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;objRecordSet.Movenext&lt;br /&gt;&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;Wscript.Echo "All Done"&lt;br /&gt;&lt;br /&gt;objOutputFile.close&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-114304545034910772?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/114304545034910772/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=114304545034910772' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114304545034910772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114304545034910772'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/03/report-of-all-users-with-mailbox-mail.html' title='Report of all users with a mailbox, mail server name &amp; store name'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-114286925428361373</id><published>2006-03-20T10:36:00.000-05:00</published><updated>2006-03-22T11:29:48.243-05:00</updated><title type='text'>For all users that have an Exchange mailbox, write ALL their email addresses to a file</title><content type='html'>Although this can be done with ldifde, or possibly with csvde, I've never been terribly skillful with either of those utilities. So, this little vbscript will scrub your AD looking for anyone that has a value in the homemdb attribute. This generally means they have a mailbox on an exchange server somewhere, and thus should have an smtp addres in the proxyAddresses value in AD. This script does user accounts only, not contacts, groups, or anything else that might have an smtp address. If you're trying to search your domain for a particular smtp address to see where it's being used I have a script that does that as well, located &lt;a href="http://krisdev.blogspot.com/2005/09/search-your-domain-for-particular-smtp.html"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;This is a pretty standard script, it uses a sql type query to gather all user accounts, then does some standard looping to sort out the ones that actually have mailboxes. Since the proxyAddresses attribute is 'multivalued', meaning that it can hold more than one entry, we have to sort through all the possible entries for that value. I also incorporated some string searches to drop the X400 address and any holdover MBX values so we get a nice list of JUST smtp addresses.&lt;br /&gt;'***************************************************&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;Const ForWriting  = 2&lt;br /&gt;Const OpenAsASCII  = 0&lt;br /&gt;strOutputFile   = "c:\SmtpAdds.txt"&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;strDomain    = "LDAP://"&amp; objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;Set objFSO = CreateObject("scripting.filesystemobject")&lt;br /&gt;Set objOutputFile = objFSO.CreateTextFile _&lt;br /&gt; (strOutputFile, ForWriting, OpenAsASCII)&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt; objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt; objCommand.ActiveConnection = objConnection&lt;br /&gt;&lt;br /&gt;objCommand.CommandText = "&lt;"&amp; strDomain &amp;"&gt;;(objectCategory=person)" &amp; _&lt;br /&gt;";distinguishedName,cn;subtree"&lt;br /&gt;objCommand.Properties("Page Size") = 6000&lt;br /&gt;&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordSet.EOF&lt;br /&gt;strUserDN = objRecordSet.Fields("DistinguishedName")&lt;br /&gt;set objUser = GetObject("LDAP://"&amp; strUserDN)&lt;br /&gt;&lt;br /&gt;If instr(objUser.homemdb,"CN=") &lt;&gt; 0 then&lt;br /&gt;objOutputfile.writeline objUser.displayName&lt;br /&gt;&lt;br /&gt;For Each entry in objUser.GetEx("proxyAddresses")&lt;br /&gt;&lt;br /&gt;If instr(entry,"X400") = 0 Then&lt;br /&gt; proxy1 = entry&lt;br /&gt;&lt;br /&gt; If instr(proxy1, "MBX:") = 0 Then &lt;br /&gt;  objOutputfile.writeline proxy1 &lt;br /&gt; End If&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;objOutputfile.writeline&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;objRecordSet.MoveNext&lt;br /&gt;&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;objConnection.Close&lt;br /&gt;&lt;br /&gt;Set objRootDSE     = Nothing&lt;br /&gt;set objConnection   = Nothing&lt;br /&gt;set objCommand      = Nothing&lt;br /&gt;set objRecordSet    = Nothing&lt;br /&gt;set objUser         = Nothing&lt;br /&gt;set objOutputFile   = Nothing&lt;br /&gt;set objFSO     = Nothing&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-114286925428361373?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/114286925428361373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=114286925428361373' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114286925428361373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114286925428361373'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/03/for-all-users-that-have-exchange.html' title='For all users that have an Exchange mailbox, write ALL their email addresses to a file'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-114236178815892423</id><published>2006-03-14T13:41:00.000-05:00</published><updated>2006-03-14T14:08:12.420-05:00</updated><title type='text'>AD Exchange Mailbox Quota Report</title><content type='html'>The following vbscript will generate a report of all mailbox enabled users in Active Directory who have the 'Use mailbox store defaults' tickbox UN checked. It will also give you the value, if any, that is set in the 'Issue warning at (KB)' field and the 'Prohibit send at (KB)' fields. Enjoy!&lt;br /&gt;&lt;br /&gt;'******************************************************&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;strDomain    = "LDAP://"&amp; objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set objOutputFile=objFSO.CreateTextFile("c:\MBQuotas.txt",True)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt; objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt; objCommand.ActiveConnection = objConnection&lt;br /&gt;&lt;br /&gt;objCommand.CommandText = "&lt;"&amp; strDomain &amp;"&gt;;"&amp; _&lt;br /&gt;"(objectCategory=user)" &amp; _&lt;br /&gt;";distinguishedName,displayName,mDBUseDefaults,homemdb,"&amp; _&lt;br /&gt;"mDBOverQuotaLimit,mDBStorageQuota;subtree"&lt;br /&gt;&lt;br /&gt;objCommand.Properties("Page Size") = 6000&lt;br /&gt;&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordSet.EOF&lt;br /&gt;&lt;br /&gt;'Make sure there is NO linewrap in the following line&lt;br /&gt;if objRecordSet.Fields("mDBUseDefaults") = FALSE AND objRecordSet.Fields("homemdb") &lt;&gt; "" then&lt;br /&gt;&lt;br /&gt;strOutput = objRecordSet.Fields("displayName") &amp; ";" &amp; _&lt;br /&gt;objRecordSet.Fields("mDBOverQuotaLimit") &amp; _&lt;br /&gt;";" &amp; objRecordSet.Fields("mDBStorageQuota")&lt;br /&gt;objOutputFile.WriteLine strOutput&lt;br /&gt;  end if&lt;br /&gt; objRecordSet.MoveNext &lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-114236178815892423?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/114236178815892423/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=114236178815892423' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114236178815892423'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/114236178815892423'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/03/ad-exchange-mailbox-quota-report.html' title='AD Exchange Mailbox Quota Report'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113881455576786438</id><published>2006-02-01T12:20:00.000-05:00</published><updated>2006-02-01T16:29:34.956-05:00</updated><title type='text'>Breckenridge, CO - Christmas 2005</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/blogger/3216/1151/1600/Colorado_Decemberr_2005%20031.jpg"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://photos1.blogger.com/blogger/3216/1151/320/Colorado_Decemberr_2005%20031.jpg" border="0" alt="" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113881455576786438?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113881455576786438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113881455576786438' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113881455576786438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113881455576786438'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/02/breckenridge-co-christmas-2005.html' title='Breckenridge, CO - Christmas 2005'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113864979343435278</id><published>2006-01-30T14:08:00.000-05:00</published><updated>2006-02-01T10:31:21.086-05:00</updated><title type='text'>Change AD info for users from File - vbscript, csv</title><content type='html'>The following script was written for someone who had an interesting situation. He had a list of numerous users within his domain (not contained within a single OU) whose phone numbers and fax numbers needed to be changed. So, what we started with here was a csv file with a samAccountname (NT style login name), the new phone number and the new fax number in a csv file, in the following example format:&lt;br /&gt;ssmith,999-9999,888-8888&lt;br /&gt;&lt;br /&gt;The goal was then to have a script read this file and change the phone number (telephoneNumber) and fax number (facsimileTelephoneNumber) accordingly. In case you don't know, having a vbscript read a file isn't a terribly big deal, but it really doesn't do the best job of processing information on a single line. For example, when we have ssmith,999-9999,888-8888 it isn't the easiest thing to say 'hey, there's actually 3 pieces of data on this line'. What we wind up having to do is use the comma (rather painfully) to extrapolate each piece of information out of the single one line string, assign it to a variable and commit the change to AD. &lt;br /&gt;&lt;br /&gt;We begin by reading the file into an array, extracting the information we need for each change by manipulating the string, then using NameTranslate to convert the samAccountName (that we got from the file) into a distinguishedName, bind to the object, insert the new information and commit the changes.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;On error resume next&lt;br /&gt;'written by Kristina L. Waters&lt;br /&gt;'1/24/2006&lt;br /&gt;'**************************************************&lt;br /&gt;Const ADS_NAME_INITTYPE_GC = 3&lt;br /&gt;Const ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9&lt;br /&gt;Const ADS_NAME_TYPE_NT4 = 3&lt;br /&gt;Const ADS_NAME_TYPE_1779 = 1 'Distinguished Name&lt;br /&gt;&lt;br /&gt;strFile = "c:\users.csv"&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;'Determine DNS Domain Name&lt;br /&gt;Set objRootDSE = GetObject("LDAP://RootDSE")&lt;br /&gt;strDNSDomain = objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;' Use the NameTranslate object to find the NetBIOS&lt;br /&gt;' domain name from the DNS domain name.&lt;br /&gt;Set objTrans = CreateObject("NameTranslate")&lt;br /&gt;objTrans.Init ADS_NAME_INITTYPE_GC, strDNSDomain&lt;br /&gt;objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain&lt;br /&gt;strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4)&lt;br /&gt;&lt;br /&gt;'The following removes the \ as in DOMAIN\ '&lt;br /&gt;strNetBIOSDomain=Left(strNetBIOSDomain,Len(strNetBIOSDomain)-1)&lt;br /&gt;'wscript.Echo strNetBiosDomain&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Set fso = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set usrFile = Fso.OpenTextFile(strFile)&lt;br /&gt;&lt;br /&gt;'make File into an Array&lt;br /&gt;aData = Split(usrFile.Readall,vbcrlf)&lt;br /&gt;&lt;br /&gt;For X=0 To UBound(aData)&lt;br /&gt;strData=aData(x)   'Read in each line of array&lt;br /&gt;'wscript.Echo x&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;strUser = Left(strData,InStr(strData,",")-1) &lt;br /&gt;'wscript.Echo strUser&lt;br /&gt;&lt;br /&gt;objTrans.Init ADS_NAME_TYPE_1779, strNetBIOSDomain&lt;br /&gt;objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain &amp; "\" &amp; strUser&lt;br /&gt;strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;set objUser = GetObject("LDAP://"&amp; strUserDN)&lt;br /&gt;'wscript.Echo objUser.displayName&lt;br /&gt;&lt;br /&gt;If InStr(LCase(strData),LCase(objUser.samAccountname)) Then&lt;br /&gt;&lt;br /&gt;'Remove the username from the string &lt;br /&gt;strData=Mid(strData,InStr(strData,",")+1)&lt;br /&gt;&lt;br /&gt;'Extract the phone number     &lt;br /&gt;strPhone=Left(strData,InStr(strData,",")-1)     &lt;br /&gt;&lt;br /&gt;'Extract the fax &lt;br /&gt;strFax=Mid(strData,InStr(strData,",")+1)     &lt;br /&gt;  &lt;br /&gt;objUser.telephoneNumber = strPhone&lt;br /&gt;objUser.facsimileTelephoneNumber = strFax&lt;br /&gt;&lt;br /&gt;'uncomment the line (remove the tick at beginning) to commit changes! &lt;br /&gt;'objUser.setinfo    info!&lt;br /&gt;  &lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;'****************************&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;set objRootDSE  = nothing&lt;br /&gt;set objTrans  = nothing&lt;br /&gt;set objOu  = nothing&lt;br /&gt;set fso    = nothing&lt;br /&gt;set usrFile  = nothing&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;br /&gt;'****************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113864979343435278?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113864979343435278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113864979343435278' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113864979343435278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113864979343435278'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/01/change-ad-info-for-users-from-file.html' title='Change AD info for users from File - vbscript, csv'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113656809912514108</id><published>2006-01-06T12:06:00.000-05:00</published><updated>2006-02-01T10:34:20.193-05:00</updated><title type='text'>Add users to a group from a CSV file</title><content type='html'>Here's another that I'm posting per request. This one comes in handy for me quite often. It can be modified to read in (from the file) samAccountnames, the smtp address, just about anything that can be converted using the name translate method. Here's a link that talks about some of the things you can do with &lt;a href="http://www.rlmueller.net/NameTranslateFAQ.htm"&gt;IADsNameTranslate&lt;/a&gt;. Read through the script to see what attributes you need to modify to get it to work for you. Enjoy!&lt;br /&gt;&lt;br /&gt;'------------------------------------------------------&lt;br /&gt;'Use any and all scripts from this site at your own risk&lt;br /&gt;'Test test test!&lt;br /&gt;'This script will take a csv file of samAccountnames (ntname) &lt;br /&gt;'and add all the users to the specified group. &lt;br /&gt;&lt;br /&gt;'By KLW, 08/26/05&lt;br /&gt;&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;Const ADS_PROPERTY_CLEAR  = 1&lt;br /&gt;Const ADS_PROPERTY_UPDATE = 2 &lt;br /&gt;Const ADS_PROPERTY_APPEND = 3&lt;br /&gt;Const ADS_PROPERTY_DELETE = 4&lt;br /&gt;&lt;br /&gt;Const ADS_NAME_INITTYPE_GC = 3&lt;br /&gt;&lt;br /&gt;Const ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9&lt;br /&gt;Const ADS_NAME_TYPE_NT4  = 3&lt;br /&gt;Const ADS_NAME_TYPE_1779  = 1 'Distinguished Name&lt;br /&gt;&lt;br /&gt;'----------------------------------------------------------&lt;br /&gt;'Replace the below item with the security group &lt;br /&gt;'or dist list you want modified&lt;br /&gt;'Modify the dc=microsoft,dc=com to match your domain&lt;br /&gt;Const strGroup = "LDAP://CN=IT Dept,OU=Distribution " _&lt;br /&gt; &amp; "Lists,OU=Exchange,DC=microsoft,DC=com"&lt;br /&gt;Set objGroup = GetObject(strGroup)&lt;br /&gt;&lt;br /&gt;'Replace this item with the list of users&lt;br /&gt;Const strFile = "c:\users.csv"&lt;br /&gt;&lt;br /&gt;'---------------------------------------------------------&lt;br /&gt;set objReadFSO  = CreateObject ("Scripting.FileSystemObject")&lt;br /&gt;set objUsersFile = objReadFSO.OpenTextFile(strFile)&lt;br /&gt;&lt;br /&gt;'---------------------------------------------------------&lt;br /&gt;'Determine DNS Domain Name&lt;br /&gt;Set objRootDSE = GetObject("LDAP://RootDSE")&lt;br /&gt;strDNSDomain = objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;'--------------------------------------------------------&lt;br /&gt;' Use the NameTranslate object to find the NetBIOS &lt;br /&gt;' domain name from the DNS domain name.&lt;br /&gt;Set objTrans = CreateObject("NameTranslate")&lt;br /&gt;objTrans.Init ADS_NAME_INITTYPE_GC, strDNSDomain&lt;br /&gt;objTrans.Set ADS_NAME_TYPE_1779, strDNSDomain&lt;br /&gt;strNetBIOSDomain = objTrans.Get(ADS_NAME_TYPE_NT4)&lt;br /&gt;&lt;br /&gt;'The following removes the \ as in DOMAIN\ &lt;br /&gt;strNetBIOSDomain = Left(strNetBIOSDomain, Len(strNetBIOSDomain) - 1)&lt;br /&gt;'wscript.Echo strNetBiosDomain&lt;br /&gt;&lt;br /&gt;'------------------------------------------------------&lt;br /&gt;do while objUsersFile.AtEndOfStream = False&lt;br /&gt;  strUser  = rtrim(Ucase(objUsersFile.readLine))&lt;br /&gt;  &lt;br /&gt;  objTrans.Init ADS_NAME_TYPE_1779, strNetBIOSDomain&lt;br /&gt;  objTrans.Set ADS_NAME_TYPE_NT4, strNetBIOSDomain &amp; "\" &amp; strUser&lt;br /&gt;  strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)&lt;br /&gt;  &lt;br /&gt;  'wscript.Echo strUserDN&lt;br /&gt;  set objUser = GetObject("LDAP://"&amp; strUserDN)&lt;br /&gt;  strDNPath  = objUser.distinguishedName&lt;br /&gt;  &lt;br /&gt;  objGroup.PutEx ADS_PROPERTY_APPEND, "member", Array(strDNPath)&lt;br /&gt;  objGroup.SetInfo&lt;br /&gt;Loop&lt;br /&gt;&lt;br /&gt;'----------------------------------------------------&lt;br /&gt;wscript.echo "All Done"&lt;br /&gt;&lt;br /&gt;set objUser =   Nothing&lt;br /&gt;set objGroup =   Nothing&lt;br /&gt;set objUsersFile =  Nothing&lt;br /&gt;set objReadFSO =  Nothing&lt;br /&gt;set objRootDSE = Nothing&lt;br /&gt;set objTrans =   Nothing&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113656809912514108?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113656809912514108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113656809912514108' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113656809912514108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113656809912514108'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2006/01/add-users-to-group-from-csv-file.html' title='Add users to a group from a CSV file'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113346317743151801</id><published>2005-12-01T13:52:00.000-05:00</published><updated>2005-12-30T16:11:05.166-05:00</updated><title type='text'>Can I allow more than one person to manage a Windows distribution list? Yes!</title><content type='html'>Short answer, yes. In a Windows 2000 domain (not sure if this restriction is exactly the same in a 2003 domain), let's say you have a distribution list called ALLIT, which you manually add people to when needed. You have several administrative assistants. Normally, admin1 updates the list, as he has been set as the manager of the list from within Active Directory Users &amp; Computers (ADUC), using the Managed By tab in the properties of the group.&lt;br /&gt;&lt;br /&gt;What happens when admin1 is out sick, on vacation, etc? Your boss would like admin1, admin2, AND admin3 to be able to update the list. But, the problem is that you can only select a single user in the Managed By tab. So what do you do? There's a pretty easy way to get around this. First off, you need to be familiar with ADSI edit which you should be if you're an admin for a 2000/2003 domain. There are lots of links and information that will tell you that ADSI edit is terribly dangerous. Well, just about any admin tool can be terribly dangerous if used the wrong way. Personally, I find ADSI edit invaluable, just be careful until you become familiar with it. Here's a quick tutorial: &lt;a href="http://www.w2kcfg.net/adsi_edit.htm"&gt;ADSI_EDIT&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;What you need to do first is find (or create) a group that contains all the users who should be able to update the given list. In our case, we're going to create a security group called 'ALLIT Update' and add admin1, admin2 and admin3 to the group.&lt;br /&gt;&lt;br /&gt;Next, head into ADSI edit, right click and select 'Connect To well known naming context' and make sure 'Domain' is in the drop down list. Expand things out and you should see a structure that looks like your OU structure when you're in the ADUC. Find the 'ALLIT Update' group, right click and select properties, scroll down til you find the distinguishedName attribute, double click it and copy the value. &lt;br /&gt;&lt;br /&gt;Next, find the ALLIT group in ADSI edit and find the managedBy value. Paste the distinguishedName value from 'ALLIT Update' into this field, exit, head back into the ADUC, find ALLIT and you should now see the 'ALLIT Update' listed in there as the group manager. All you need to do now is tick the 'manager can update group membership' checkbox. Now admin1, admin2 and admin3 should be able to manager the ALLIT group. (if they can't do it right away, wait just a bit - have them log off/back on then try again). You also have the added convenience of merely adding people to and from 'ALLIT Update' whenever you want to add/remove group managers.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;Kris&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113346317743151801?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113346317743151801/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113346317743151801' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113346317743151801'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113346317743151801'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/12/can-i-allow-more-than-one-person-to.html' title='Can I allow more than one person to manage a Windows distribution list? Yes!'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113268490443969062</id><published>2005-11-22T13:40:00.000-05:00</published><updated>2006-02-01T10:32:08.296-05:00</updated><title type='text'>Enumerate AD group using NT Name and NameTranslate Method</title><content type='html'>This is a revision on my earlier post today. It was noted that &lt;br /&gt;the first post didn't pick up contacts. I revised this one so it&lt;br /&gt;will pick up any object in the dist list.&lt;br /&gt;&lt;br /&gt;'***************************************************&lt;br /&gt;'The constant below should reflect the name of the group&lt;br /&gt;'you wish to enumerate. For a Distribution group, you must&lt;br /&gt;'use the 'alias' name rather than the display name of the group&lt;br /&gt;'See ADUsers and computers to find the alias name of a dist group&lt;br /&gt;&lt;br /&gt;Const strGroup = "ITNET"&lt;br /&gt;&lt;br /&gt;'This will create a file in a folder called c:\reports. Either create&lt;br /&gt;'the folder or change the hardcoded path down below&lt;br /&gt;'***************************************************&lt;br /&gt;On Error Resume Next&lt;br /&gt;Const ADS_NAME_INITTYPE_GC = 3&lt;br /&gt;Const ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9&lt;br /&gt;Const ADS_NAME_TYPE_NT4 = 3&lt;br /&gt;Const ADS_NAME_TYPE_1779 = 1 'Distinguished Name&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objDomainRoot = GetObject("LDAP://"&amp; _&lt;br /&gt;objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;strDomain = Right(objDomainRoot.Name, Len(objDomainRoot.Name)-3)&lt;br /&gt;'wscript.Echo strDomain&lt;br /&gt;&lt;br /&gt;Set filesys = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set memberfile = filesys.CreateTextFile("c:\Reports\"&amp; _&lt;br /&gt;strGroup &amp;".txt", True)&lt;br /&gt;&lt;br /&gt;Set objTrans = CreateObject("NameTranslate")&lt;br /&gt;&lt;br /&gt;'********************&lt;br /&gt;'translate NT group name into AD DistinguishedName&lt;br /&gt;&lt;br /&gt;objTrans.Init ADS_NAME_TYPE_1779, strDomain&lt;br /&gt;objTrans.Set ADS_NAME_TYPE_NT4, strDomain &amp; "\" &amp; strGroup&lt;br /&gt;strGroupDN = objTrans.Get(ADS_NAME_TYPE_1779)&lt;br /&gt;'wscript.Echo strGroupDN&lt;br /&gt;'*********************&lt;br /&gt;&lt;br /&gt;set objGroup = GetObject("LDAP://"&amp; strGroupDN)&lt;br /&gt;'wscript.Echo objGroup.displayName&lt;br /&gt;&lt;br /&gt;arrMember = objGroup.GetEx("member")&lt;br /&gt;For Each User in arrMember&lt;br /&gt;'WScript.Echo vbTab &amp; User&lt;br /&gt;&lt;br /&gt;set objUser = GetObject("LDAP://"&amp; User)&lt;br /&gt;set objProxy = GetObject("LDAP://"&amp; objUser.distinguishedName)&lt;br /&gt;&lt;br /&gt;For Each proxyAddresses in objProxy.GetEx("proxyAddresses")&lt;br /&gt;If Instr(proxyAddresses, "SMTP:") then&lt;br /&gt; strEmail = Right(proxyAddresses, Len(proxyAddresses)-5)&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;memberfile.Writeline objUser.mailNickName &amp; "," &amp; strEmail&lt;br /&gt;Next&lt;br /&gt;memberfile.close&lt;br /&gt;&lt;br /&gt;set objRootDSE   = Nothing&lt;br /&gt;set objDomainRoot  = Nothing&lt;br /&gt;set filesys   = Nothing&lt;br /&gt;set memberfile   = Nothing&lt;br /&gt;set objTrans   = Nothing&lt;br /&gt;set objGroup   = Nothing&lt;br /&gt;set userObj   = Nothing&lt;br /&gt;set objProxy   = Nothing&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113268490443969062?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113268490443969062/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113268490443969062' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113268490443969062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113268490443969062'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/11/enumerate-ad-group-using-nt-name-and.html' title='Enumerate AD group using NT Name and NameTranslate Method'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-113267180472454633</id><published>2005-11-22T09:53:00.000-05:00</published><updated>2006-02-01T10:32:41.543-05:00</updated><title type='text'>Enumerate Group Membership, Print SMTP address in File - VBSCRIPT</title><content type='html'>The script below was done per request, it will print the&lt;br /&gt;samAccountName and PRIMARY smtp address (if there is one)&lt;br /&gt;for all users in a given group (distribution or security, &lt;br /&gt;doesn't matter.)&lt;br /&gt;&lt;br /&gt;The script will put them in a folder called C:\Reports, &lt;br /&gt;you need to either create that folder on your C: drive&lt;br /&gt;or edit the code to place the file where you'd like it &lt;br /&gt;to go.&lt;br /&gt;&lt;br /&gt;I used a few different methods in this one, mixing some&lt;br /&gt;NT methods in, and threw in some name translate methods.&lt;br /&gt;It was fun to write.&lt;br /&gt;&lt;br /&gt;Enjoy!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;'The constant below should reflect the name of the group &lt;br /&gt;'you wish to enumerate. For a Distribution group, you must &lt;br /&gt;'use the 'alias' name rather than the display name of the group&lt;br /&gt;'See ADUsers and computers to find the alias name of a dist group&lt;br /&gt;&lt;br /&gt;Const strGroup = "ALLUSERS"&lt;br /&gt;&lt;br /&gt;'This will create a file in a folder called c:\reports. Either create&lt;br /&gt;'the folder or change the hardcoded path down below&lt;br /&gt;'**************************************************&lt;br /&gt;On Error Resume Next&lt;br /&gt;Const ADS_NAME_INITTYPE_GC  = 3&lt;br /&gt;Const ADS_NAME_TYPE_USER_PRINCIPAL_NAME = 9&lt;br /&gt;Const ADS_NAME_TYPE_NT4  = 3&lt;br /&gt;Const ADS_NAME_TYPE_1779  = 1 'Distinguished Name&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objDomainRoot = GetObject("LDAP://"&amp; _&lt;br /&gt;objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;strDomain = Right(objDomainRoot.Name, Len(objDomainRoot.Name)-3)&lt;br /&gt;'wscript.Echo strDomain&lt;br /&gt;&lt;br /&gt;Set filesys = CreateObject("Scripting.FileSystemObject") &lt;br /&gt;Set memberfile = filesys.CreateTextFile("c:\Reports\"&amp; _&lt;br /&gt; strGroup &amp;".txt", True)&lt;br /&gt;&lt;br /&gt;Set objTrans = CreateObject("NameTranslate")&lt;br /&gt;Set objGroup = GetObject("WinNT://" &amp; _&lt;br /&gt; strDomain &amp; "/" &amp; strGroup &amp; ",group")&lt;br /&gt;&lt;br /&gt; For Each objMember In objGroup.Members&lt;br /&gt;  username = objMember.Name&lt;br /&gt;  Set UserObj = GetObject("WinNT://"&amp; _&lt;br /&gt;  strDomain &amp; "/" &amp; username)&lt;br /&gt;  displayname = userobj.fullname&lt;br /&gt;  &lt;br /&gt;  strUser = rtrim(Ucase(username))&lt;br /&gt;  &lt;br /&gt;  objTrans.Init ADS_NAME_TYPE_1779, strDomain&lt;br /&gt;  objTrans.Set ADS_NAME_TYPE_NT4, strDomain &amp; "\" &amp; strUser&lt;br /&gt;  strUserDN = objTrans.Get(ADS_NAME_TYPE_1779)&lt;br /&gt;  set objUser = GetObject("LDAP://"&amp; strUserDN)&lt;br /&gt;  set objProxy = GetObject("LDAP://"&amp; objUser.distinguishedName)&lt;br /&gt;  &lt;br /&gt;  For Each proxyAddresses in objProxy.GetEx("proxyAddresses")&lt;br /&gt;  If Instr(proxyAddresses, "SMTP:") then&lt;br /&gt;   strEmail = Right(proxyAddresses, Len(proxyAddresses)-5)&lt;br /&gt;  End If&lt;br /&gt;  Next  &lt;br /&gt;   &lt;br /&gt;  memberfile.Writeline strUser &amp; "," &amp; strEmail     &lt;br /&gt; Next&lt;br /&gt; memberfile.close&lt;br /&gt; &lt;br /&gt;set objRootDSE   = Nothing&lt;br /&gt;set objDomainRoot  = Nothing&lt;br /&gt;set filesys   = Nothing&lt;br /&gt;set memberfile   = Nothing&lt;br /&gt;set objTrans   = Nothing&lt;br /&gt;set objGroup   = Nothing&lt;br /&gt;set userObj   = Nothing&lt;br /&gt;set objProxy   = Nothing&lt;br /&gt; &lt;br /&gt;wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-113267180472454633?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/113267180472454633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=113267180472454633' title='29 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113267180472454633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/113267180472454633'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/11/enumerate-group-membership-print-smtp.html' title='Enumerate Group Membership, Print SMTP address in File - VBSCRIPT'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>29</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-112560414114173967</id><published>2005-09-01T15:45:00.000-04:00</published><updated>2005-11-07T11:10:27.810-05:00</updated><title type='text'>Search your domain for a particular smtp email address, or 'proxyAddresses'</title><content type='html'>'********************************************&lt;br /&gt;'script to search a domain for a particular SMTP address. searches&lt;br /&gt;'users, groups and public folders. might not search against default&lt;br /&gt;'users container, i don't use it and didn't test against it.&lt;br /&gt;'Just modify the strAddress line to contain the address you're searching for&lt;br /&gt;'thanks to EE's Chris-Dent for his OURecurse subroutine&lt;br /&gt;'written by EE's kristinaw, 05/20/05&lt;br /&gt;&lt;br /&gt;strAddress = lcase("SMTP:kris@norfolk.gov")&lt;br /&gt;strFound = FALSE&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objDomainRoot = GetObject("LDAP://"&amp; _&lt;br /&gt; objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;&lt;br /&gt;wscript.Echo "Searching for address "&amp; strAddress&lt;br /&gt;&lt;br /&gt;For Each objItem in objDomainRoot&lt;br /&gt; If strFound = FALSE Then&lt;br /&gt;  'wscript.Echo objitem.Name&lt;br /&gt;  If objItem.Class="organizationalUnit" Then&lt;br /&gt;   'wscript.Echo objItem.ADSPath&lt;br /&gt;   OURecurse objItem.ADSPath&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  If objItem.Class="user" Then&lt;br /&gt;   'wscript.Echo objItem.name&lt;br /&gt;   ProcessUsers objItem&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  If objItem.Class="group" Then&lt;br /&gt;   ProcessUsers objItem&lt;br /&gt;  End If&lt;br /&gt;  &lt;br /&gt;  'The below portion of code searches public folders&lt;br /&gt;  If objItem.cn ="Microsoft Exchange System Objects" then&lt;br /&gt;   'wscript.Echo objItem.Name&lt;br /&gt;   OURecurse objItem.ADSPath&lt;br /&gt;  End If&lt;br /&gt; End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;br /&gt;&lt;br /&gt;Set objRootDSE   = Nothing&lt;br /&gt;Set objDomainRoot  = Nothing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**********************************************&lt;br /&gt;Sub ProcessUsers(objUsers)&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt; 'wscript.Echo objUsers.Name&lt;br /&gt; set objProxy = GetObject("LDAP://"&amp; objUsers.distinguishedName)&lt;br /&gt;  For Each proxyAddresses in objProxy.GetEx("proxyAddresses")&lt;br /&gt;   If lcase(proxyAddresses) = strAddress then&lt;br /&gt;If objProxy.Class="publicFolder" then&lt;br /&gt;&lt;br /&gt;wscript.Echo "Proxy address "&amp; _&lt;br /&gt;strAddress &amp;" is assigned to a Public Folder named '"&amp; _&lt;br /&gt;objProxy.displayName &amp;"', "&amp;"in Public Folder Path "&amp; _&lt;br /&gt; objProxy.folderPathname&lt;br /&gt;&lt;br /&gt;Else&lt;br /&gt;&lt;br /&gt;wscript.Echo "Proxy address "&amp; _&lt;br /&gt;strAddress &amp;" is assigned to the user or group "&amp; _&lt;br /&gt;"with a samAccountName of '"&amp; objProxy.saMAccountName &amp; _&lt;br /&gt;"' and a display name of "&amp; objProxy.displayName&lt;br /&gt;&lt;br /&gt;End If&lt;br /&gt;strFound = TRUE&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;  &lt;br /&gt;set objProxy = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**********************************************&lt;br /&gt;Sub OURecurse(objFirst)&lt;br /&gt;&lt;br /&gt;' This OU is responsible for going through the AD Structure&lt;br /&gt;&lt;br /&gt;     Dim objOrgUnit, objItem&lt;br /&gt;&lt;br /&gt;     Set objOrgUnit = GetObject(objFirst)&lt;br /&gt;     For Each objItem in objOrgUnit&lt;br /&gt;          If objItem.Class="user" Then&lt;br /&gt;           'wscript.Echo objItem.Name&lt;br /&gt;           ProcessUsers objItem&lt;br /&gt;          End If&lt;br /&gt;          &lt;br /&gt;          If objItem.Class="group" Then&lt;br /&gt;           ProcessUsers objItem&lt;br /&gt;          End If &lt;br /&gt;          &lt;br /&gt;          If objItem.Class="publicFolder" Then&lt;br /&gt;   ProcessUsers objitem&lt;br /&gt;    End If&lt;br /&gt;          &lt;br /&gt;          If objItem.Class="organizationalUnit" Then&lt;br /&gt;           'wscript.Echo objItem.Name&lt;br /&gt;           OURecurse objItem.ADSPath&lt;br /&gt;          End If&lt;br /&gt;     Next&lt;br /&gt;     &lt;br /&gt;     Set objOrgUnit = Nothing&lt;br /&gt;     Set objFirst  = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'********************************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-112560414114173967?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/112560414114173967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=112560414114173967' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112560414114173967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112560414114173967'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/09/search-your-domain-for-particular-smtp.html' title='Search your domain for a particular smtp email address, or &apos;proxyAddresses&apos;'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-112437686858271529</id><published>2005-08-18T10:53:00.000-04:00</published><updated>2005-08-18T10:54:28.586-04:00</updated><title type='text'>Another Mailbox Size Mod</title><content type='html'>Per request, this one just prints the down and dirty, mailbox name and size. This works on Ex2003 only.&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;On Error Resume Next&lt;br /&gt;'Written to a file instead of Echoed on the screen&lt;br /&gt;&lt;br /&gt;set objReadFSO = CreateObject ("Scripting.FileSystemObject")&lt;br /&gt;set objOutputFile = objReadFSO.CreateTextFile("c:\Mailboxes.txt")&lt;br /&gt;&lt;br /&gt;strComputer = "."&lt;br /&gt;Set objWMIService = GetObject("winmgmts:" _&lt;br /&gt;&amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; _&lt;br /&gt;"\ROOT\MicrosoftExchangeV2")&lt;br /&gt;&lt;br /&gt;Set colItems = objWMIService.ExecQuery _&lt;br /&gt;("Select * from Exchange_Mailbox")&lt;br /&gt;&lt;br /&gt;For Each objItem in colItems&lt;br /&gt;&lt;br /&gt;objOutputFile.Writeline objItem.MailboxDisplayName &amp; _&lt;br /&gt; "," &amp; objItem.Size&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;objOutputFile.Close&lt;br /&gt;&lt;br /&gt;set objReadFSO   = Nothing&lt;br /&gt;set objOutputFile  = Nothing&lt;br /&gt;Set objWMIService  = Nothing&lt;br /&gt;Set colItems   = Nothing&lt;br /&gt;&lt;br /&gt;Wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-112437686858271529?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/112437686858271529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=112437686858271529' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112437686858271529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112437686858271529'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/08/another-mailbox-size-mod.html' title='Another Mailbox Size Mod'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-112428758916877421</id><published>2005-08-17T09:51:00.000-04:00</published><updated>2005-08-17T10:06:29.173-04:00</updated><title type='text'>List Exchange 2003 Mailbox Information</title><content type='html'>The following script is a small modification on the MS script posted here: &lt;a href="http://http://www.microsoft.com/technet/scriptcenter/scripts/message/exch2003/msexvb08.mspx"&gt;List Exchange Mailbox Information&lt;/a&gt;&lt;br /&gt;This simply causes the script to output the information to a text file rather than echoing it to the screen. If you need historical tracking, or mailbox growth tracking, I believe &lt;a href="http://gsexdev.blogspot.com/"&gt;Glen Scales&lt;/a&gt; has an excellent script for such things on his Blog, but then again, all his scripts and programs are excellent IMHO.&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;'**************************************************&lt;br /&gt;On Error Resume Next&lt;br /&gt;'Written to a file instead of Echoed on the screen&lt;br /&gt;&lt;br /&gt;set objReadFSO  = CreateObject ("Scripting.FileSystemObject")&lt;br /&gt;set objOutputFile = objReadFSO.CreateTextFile("c:\Mailboxes.txt")&lt;br /&gt;&lt;br /&gt;strComputer = "."&lt;br /&gt;Set objWMIService = GetObject("winmgmts:" _&lt;br /&gt;    &amp; "{impersonationLevel=impersonate}!\\" &amp; strComputer &amp; _&lt;br /&gt;        "\ROOT\MicrosoftExchangeV2")&lt;br /&gt;&lt;br /&gt;Set colItems = objWMIService.ExecQuery _&lt;br /&gt;    ("Select * from Exchange_Mailbox")&lt;br /&gt;&lt;br /&gt;For Each objItem in colItems&lt;br /&gt;    objOutputFile.Writeline "Associated content count: " &amp; _&lt;br /&gt;        objItem.AssocContentCount&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Date discovered absent in DS: " &amp; _&lt;br /&gt;        objItem.DateDiscoveredAbsentInDS&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Delete messages size extended: " &amp; _&lt;br /&gt;        objItem.DeletedMessageSizeExtended&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Last logged-on user account: " &amp; _&lt;br /&gt;        objItem.LastLoggedOnUserAccount&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Last logoff time: " &amp; _&lt;br /&gt;     objItem.LastLogoffTime&lt;br /&gt;     &lt;br /&gt;    objOutputFile.Writeline "Last logon time: " &amp; _&lt;br /&gt;     objItem.LastLogonTime&lt;br /&gt;     &lt;br /&gt;    objOutputFile.Writeline "Legacy distinguished name: " &amp; _&lt;br /&gt;     objItem.LegacyDN&lt;br /&gt;    &lt;br /&gt;    objOutputFile.Writeline "Mailbox display name: " &amp; _&lt;br /&gt;        objItem.MailboxDisplayName&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Mailbox GUID: " &amp; _&lt;br /&gt;     objItem.MailboxGUID&lt;br /&gt;     &lt;br /&gt;    objOutputFile.Writeline "Server name: " &amp; _&lt;br /&gt;     objItem.ServerName&lt;br /&gt;     &lt;br /&gt;    objOutputFile.Writeline "Size: " &amp; _&lt;br /&gt;     objItem.Size&lt;br /&gt;    &lt;br /&gt;    objOutputFile.Writeline "Storage group name: " &amp; _&lt;br /&gt;        objItem.StorageGroupName&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Storage limit information: " &amp; _&lt;br /&gt;        objItem.StorageLimitInfo&lt;br /&gt;        &lt;br /&gt;    objOutputFile.Writeline "Store name: " &amp; _&lt;br /&gt;        objItem.StoreName&lt;br /&gt;&lt;br /&gt;    objOutputFile.Writeline "Total items: " &amp; _&lt;br /&gt;        objItem.TotalItems&lt;br /&gt;&lt;br /&gt;    objOutputFile.Writeline&lt;br /&gt;&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;objOutputFile.Close&lt;br /&gt;&lt;br /&gt;set objReadFSO    = Nothing&lt;br /&gt;set objOutputFile = Nothing&lt;br /&gt;Set objWMIService = Nothing&lt;br /&gt;Set colItems   = Nothing&lt;br /&gt;&lt;br /&gt;Wscript.Echo "All Done"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-112428758916877421?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/112428758916877421/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=112428758916877421' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112428758916877421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112428758916877421'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/08/list-exchange-2003-mailbox-information.html' title='List Exchange 2003 Mailbox Information'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-112005572512218987</id><published>2005-06-29T10:33:00.000-04:00</published><updated>2005-06-29T10:38:42.330-04:00</updated><title type='text'></title><content type='html'>I'm in a Citrix Presentation Server class this week, so no time for new postings. But in the meantime, visit my resume &lt;a href="http://krisdevresume.blogspot.com"&gt;by clicking here.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-112005572512218987?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/112005572512218987/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=112005572512218987' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112005572512218987'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/112005572512218987'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/im-in-citrix-presentation-server-class.html' title=''/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111944739524929252</id><published>2005-06-22T09:36:00.000-04:00</published><updated>2005-06-22T09:36:35.253-04:00</updated><title type='text'></title><content type='html'>ADModify.Net&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://photos1.blogger.com/img/122/5994/50/admodify.jpg'&gt;&lt;img border='0' class='phostImg' src='http://photos1.blogger.com/img/122/5994/200/admodify.jpg'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111944739524929252?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111944739524929252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111944739524929252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111944739524929252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111944739524929252'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/admodify.html' title=''/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111944793071109747</id><published>2005-06-22T09:09:00.000-04:00</published><updated>2005-06-23T11:09:35.366-04:00</updated><title type='text'>Bulk changes to the "Delivery Restrictions" field with ADModify</title><content type='html'>Just to build on my last post, why do something by hand or write a script when the Exchange folks have been kind enough to write a nice little GUI utility to help you make bulk changes? Not sure about you all, but I'd much rather be playing Counterstrike than sitting around clicking a thousand users to make the same change on all of them. Wouldn't you?&lt;br /&gt;&lt;br /&gt;So anyways, this neat little tool is called &lt;span style="font-weight:bold;"&gt;&lt;a href="ftp://ftp.microsoft.com/PSS/Tools/Exchange%20Support%20Tools/ADModify/"&gt;ADModify&lt;/a&gt;&lt;/span&gt;, and you can download it &lt;a href="ftp://ftp.microsoft.com/PSS/Tools/Exchange%20Support%20Tools/ADModify/"&gt;here&lt;/a&gt;. I won't write too much about it since the team over at &lt;a href="http://blogs.technet.com/exchange/default.aspx"&gt;EHLO&lt;/a&gt; has already done that, which makes sense since they wrote it! But, for the script in my previous post, all you'd need to do to make the same change is run ADModify.Net, get to the screen above (the Custom field)(sorry the pic is so small) and for this particular example you would enter dlMemSubmitPerms in the Attribute Name field, and the DN, or distinguished name of the value we want to add. So we would add CN=ALLMAIL,OU=DistLists,DC=domain,DC=com for a group called ALLMAIL in and OU called DistLists in a a domain called 'domain.com'. For this value you also have to check the 'Multivalued Append' box, which is necessary for any attribute that can hold more than one value. To add the second group in our example you'd just finish adding the first one then rerun the utility.&lt;br /&gt;&lt;br /&gt;But, don't listen to my ramblings, check out &lt;a href="http://blogs.technet.com/exchange/search.aspx?q=admodify&amp;p=1"&gt;&lt;span style="font-weight:bold;"&gt;Dan Winter's&lt;/span&gt;&lt;/a&gt; post on the subject over at EHLO for more information &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/13198810-111944793071109747?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111944793071109747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111944793071109747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111944793071109747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111944793071109747'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/bulk-changes-to-delivery-restrictions.html' title='Bulk changes to the &quot;Delivery Restrictions&quot; field with ADModify'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111938827842883480</id><published>2005-06-21T17:11:00.000-04:00</published><updated>2005-06-21T17:11:18.443-04:00</updated><title type='text'></title><content type='html'>Beach Party&amp;nbsp;&lt;a href='http://www.hello.com/' target='ext'&gt;&lt;img src='http://photos1.blogger.com/pbh.gif' alt='Posted by Hello' border='0' style='border:0px;padding:0px;background:transparent;' align='absmiddle'&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href='http://photos1.blogger.com/img/122/5994/50/Beach_May_05_1.jpg'&gt;&lt;img border='0' class='phostImg' src='http://photos1.blogger.com/img/122/5994/200/Beach_May_05_1.jpg'&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111938827842883480?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111938827842883480/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111938827842883480' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111938827842883480'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111938827842883480'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/beach-party.html' title=''/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111928853468749615</id><published>2005-06-20T12:20:00.000-04:00</published><updated>2005-06-22T08:53:22.343-04:00</updated><title type='text'>"How to edit Exchange AD Attributes for multple users" or "How to bulk populate the Message Restrictions tab in AD"</title><content type='html'>I've been asked such questions numerous times. It's usually asked by an admin in an environment such as a school where abuse of the email system is rampant, to say the least. Often the admin wants to be able to restrict the end user such that he can receive messages on from a particular AD group. In a school, for example, you could have a group that contains all teachers and staff members. You can then go into the ADUC properties for a selected user, select the Exchange general tab, Delivery restrictions, Message Restrictions, select the 'Only From' radio button, and enter the teachers/staff members group in this area. This will effectively prevent students from emailing each other, since they're only allowed to receive emails from members of the authorized group (teachers). Now, if you have a large number of users, you're probably not going to want go into the properties for each user and make this change.&lt;br /&gt;&lt;br /&gt;I had originally written a little script to make this change en masse, but then found out about a little too that can handle it as well. First off, here's the script:&lt;br /&gt;&lt;br /&gt;'*******************************************************&lt;br /&gt;Const strOU = "LDAP://OU=Test OU,DC=domain,DC=com" &lt;br /&gt;Const strGroup1 = "CN=ALLMAIL,OU=DistLists,DC=domain,DC=com"&lt;br /&gt;Const strGroup2 = "CN=ALLIT,OU=DistLists,DC=domain,DC=com"&lt;br /&gt;&lt;br /&gt;Set objOU = GetObject(strOU)               &lt;br /&gt;objOU.Filter = Array("user")&lt;br /&gt;     &lt;br /&gt;For Each objUser In objOU&lt;br /&gt;'wscript.Echo objUser.Name&lt;br /&gt;objUser.PutEx ADS_PROPERTY_APPEND, _&lt;br /&gt;"dlmemSubmitPerms", Array(strGroup1,strGroup2)&lt;br /&gt;objUser.SetInfo&lt;br /&gt;Next&lt;br /&gt;     &lt;br /&gt;wscript.echo "All Done"&lt;br /&gt;'*******************************************************&lt;br /&gt;&lt;br /&gt;The script will put two groups called ALLMAIL and ALLIT in the aforementioned box  (Accept messages only from) for all users in an OU called Test OU. Obviously you're going to have to change the DN's to match your own environment if you want this script to work for you.&lt;br /&gt;&lt;br /&gt;I'm going to write a separate post on how to use ADModify to accomplish the same task.&lt;br /&gt;&lt;br /&gt;Kris&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111928853468749615?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111928853468749615/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111928853468749615' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111928853468749615'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111928853468749615'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/how-to-edit-exchange-ad-attributes-for.html' title='&quot;How to edit Exchange AD Attributes for multple users&quot; or &quot;How to bulk populate the Message Restrictions tab in AD&quot;'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111901988665477896</id><published>2005-06-17T10:34:00.000-04:00</published><updated>2005-06-17T11:32:21.590-04:00</updated><title type='text'>Script to write all server names to a file using SQL type query</title><content type='html'>This is a simple little script that will generate a text file of server and DC names sorted in alphabetical order. In my Win2K domain, all my servers (other than DC's, of course) reside in an OU called Servers that is in the root of my OU structure. I have several child OU's under the Servers OU, but this script accounts for that so we don't need to worry about doing any kind of OU recurse. We're just going to use a SQL type query to query the entire domain with an ADODB connection for any computer object with the word "Servers" in it's distinguishedName. I figured most people probably have a similar setup (all your servers in one OU), so just change the strServersCont variable to match the name of the OU you keep your servers in and the script should work for you as well.&lt;br /&gt;&lt;br /&gt;I've also included code to pull in the names from the default Domain Controllers OU. We then use a totally separate recordset to sort the first recordset by name, and voila. We have a nice little text file, c:\servers.txt, with the names of all servers and all DC's. I have several other scripts that get their data from this text file and I didn't want to have to worry about updating the file every time we added/removed servers, so I have this script set up as a daily task. One less thing I have to worry about :)&lt;br /&gt;&lt;br /&gt;'***************************************************&lt;br /&gt;Const ForWriting  = 2&lt;br /&gt;Const OpenAsASCII  = 0&lt;br /&gt;strServersCont  = "Servers"&lt;br /&gt;strOutputFile   = "c:\servers.txt"&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;strDomain      = "LDAP://"&amp; objRootDSE.Get("defaultNamingContext")&lt;br /&gt;&lt;br /&gt;Set objFSO = CreateObject("scripting.filesystemobject")&lt;br /&gt;Set objOutputFile = objFSO.CreateTextFile _&lt;br /&gt; (strOutputFile, ForWriting, OpenAsASCII)&lt;br /&gt;&lt;br /&gt;Set objConnection = CreateObject("ADODB.Connection")&lt;br /&gt; objConnection.Open "Provider=ADsDSOObject;"&lt;br /&gt;&lt;br /&gt;Set objCommand = CreateObject("ADODB.Command")&lt;br /&gt; objCommand.ActiveConnection = objConnection&lt;br /&gt;&lt;br /&gt;objCommand.CommandText = "&lt;"&amp; strDomain &amp; _&lt;br /&gt;"&gt;;(objectCategory=computer)" &amp; ";distinguishedName,cn;subtree"&lt;br /&gt;objCommand.Properties("Page Size") = 10000&lt;br /&gt;&lt;br /&gt;Const adVarChar = 200 'specifies a string type data&lt;br /&gt;Set objRecordsetNew = CreateObject("ADODB.Recordset")&lt;br /&gt;objRecordsetNew.Fields.Append "ServerName", adVarChar, 50&lt;br /&gt;objRecordsetNew.Open&lt;br /&gt;&lt;br /&gt;Set objRecordSet = objCommand.Execute&lt;br /&gt;&lt;br /&gt;While Not objRecordSet.EOF&lt;br /&gt;if instr(objRecordSet.Fields("distinguishedName"), strServersCont) _&lt;br /&gt;&lt;&gt; 0 OR instr(objRecordSet.Fields("distinguishedName"), _&lt;br /&gt;"Domain Controllers")then&lt;br /&gt;objRecordsetNew.AddNew&lt;br /&gt;objRecordSetNew("ServerName") = objRecordset.Fields.Item("cn").Value&lt;br /&gt; strCount = strCount + 1&lt;br /&gt;     end if&lt;br /&gt;  objRecordSet.MoveNext&lt;br /&gt;Wend&lt;br /&gt;objConnection.Close&lt;br /&gt;&lt;br /&gt;objRecordSetNew.Sort = "ServerName ASC"&lt;br /&gt;&lt;br /&gt;While Not objRecordSetNew.EOF&lt;br /&gt;     objOutputFile.writeline objRecordSetNew.Fields.Item("ServerName")&lt;br /&gt;     objRecordSetNew.Movenext&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;objOutputFile.Close&lt;br /&gt;&lt;br /&gt;set objConnection  = Nothing&lt;br /&gt;set objCommand   = Nothing&lt;br /&gt;set objRecordSet = Nothing&lt;br /&gt;set objRecordSetNew = Nothing&lt;br /&gt;set objOutputFile  = Nothing&lt;br /&gt;set objFSO   = Nothing&lt;br /&gt;'*******************************************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111901988665477896?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111901988665477896/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111901988665477896' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111901988665477896'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111901988665477896'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/script-to-write-all-server-names-to.html' title='Script to write all server names to a file using SQL type query'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111772249483252252</id><published>2005-06-02T13:28:00.000-04:00</published><updated>2006-12-14T09:50:52.090-05:00</updated><title type='text'>VBSCRIPT - For all domain users, write all their Delegate information to a file</title><content type='html'>The following script will recurse (go through) your AD structure,&lt;br /&gt;and for all user accounts it will take their Outlook delegate information&lt;br /&gt;and write it out to a file. Until recently I didn't realize that delegate&lt;br /&gt;information that was set inside the Outlook client was stored in AD, but&lt;br /&gt;guess what. It is. Give it a try...&lt;br /&gt;&lt;br /&gt;'*****************************************************&lt;br /&gt;'you MAY NOT post this script on any other website&lt;br /&gt;'you MAY post a link to the script, thus giving me my due credit for &lt;br /&gt;'writing it. &lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objDomainRoot = GetObject("LDAP://"&amp; _&lt;br /&gt;objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;&lt;br /&gt;Set objFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;Set objOutputFile = objFSO.CreateTextFile("c:\Delegates.txt", True)&lt;br /&gt;&lt;br /&gt;For Each objItem in objDomainRoot&lt;br /&gt; 'wscript.Echo objItem.Name&lt;br /&gt; If objItem.Class="organizationalUnit" Then&lt;br /&gt;  OURecurse objItem.ADSPath&lt;br /&gt; end if&lt;br /&gt;  &lt;br /&gt; If objItem.Class="user" Then&lt;br /&gt;  'wscript.Echo objItem.name&lt;br /&gt;  ProcessUsers objItem&lt;br /&gt; End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;objOutputFile.Close&lt;br /&gt;set objOutputFile = Nothing&lt;br /&gt;set objRootDSE  = Nothing&lt;br /&gt;set objDomainRoot = Nothing&lt;br /&gt;set objFSO = Nothing&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;'***************************************************&lt;br /&gt;Sub ProcessUsers(objUsers)&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt; 'wscript.Echo objUsers.Name&lt;br /&gt; set objPD = GetObject("LDAP://"&amp; _&lt;br /&gt;        objUsers.distinguishedName)&lt;br /&gt;  objOutputFile.Writeline objPD.displayName&lt;br /&gt;  delegateList = objPD.GetEx("publicDelegates")&lt;br /&gt;   For Each Desc In delegateList&lt;br /&gt;    objOutputFile.Writeline Desc&lt;br /&gt;   Next&lt;br /&gt;  objOutputFile.Writeline&lt;br /&gt;  &lt;br /&gt;set objPD = Nothing&lt;br /&gt;&lt;br /&gt;End Sub &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'*************************************************&lt;br /&gt;' This sub is responsible for going through the AD Structure &lt;br /&gt;  &lt;br /&gt;Sub OURecurse(objFirst)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;     Dim objOrgUnit, objItem&lt;br /&gt;&lt;br /&gt;     Set objOrgUnit = GetObject(objFirst)&lt;br /&gt;     For Each objItem in objOrgUnit&lt;br /&gt;          If objItem.Class="user" Then&lt;br /&gt;           'wscript.Echo objItem.Name&lt;br /&gt;           ProcessUsers objItem&lt;br /&gt;          End If&lt;br /&gt;          &lt;br /&gt;          If objItem.Class="organizationalUnit" Then&lt;br /&gt;           'wscript.Echo objItem.Name&lt;br /&gt;           OURecurse objItem.ADSPath&lt;br /&gt;          End If&lt;br /&gt;     Next&lt;br /&gt;     &lt;br /&gt;     Set objOrgUnit = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;'***************************************************&lt;br /&gt;&lt;br /&gt;'you MAY NOT post this script on any other website&lt;br /&gt;'you MAY post a link to the script, thus giving me my due credit for &lt;br /&gt;'writing it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111772249483252252?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111772249483252252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111772249483252252' title='9 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111772249483252252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111772249483252252'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/06/vbscript-for-all-domain-users-write.html' title='VBSCRIPT - For all domain users, write all their Delegate information to a file'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>9</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111714035300546269</id><published>2005-05-26T16:45:00.000-04:00</published><updated>2005-05-26T17:05:27.493-04:00</updated><title type='text'></title><content type='html'>Me at the beach in May, Surf City, NC &lt;a href="http://www.hello.com/" target="ext"&gt;&lt;img src="http://photos1.blogger.com/pbh.gif" alt="Posted by Hello" style="border: 0px none ; padding: 0px; background: transparent none repeat scroll 0% 50%; -moz-background-clip: initial; -moz-background-origin: initial; -moz-background-inline-policy: initial;" align="middle" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://photos1.blogger.com/img/122/5994/50/IMG_0426.jpg"&gt;&lt;img class="phostImg" src="http://photos1.blogger.com/img/122/5994/200/IMG_0426.jpg" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111714035300546269?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111714035300546269/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111714035300546269' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111714035300546269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111714035300546269'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/05/me-at-beach-in-may-surf-city-nc.html' title=''/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-13198810.post-111713926172836176</id><published>2005-05-26T15:37:00.000-04:00</published><updated>2005-07-06T14:47:12.090-04:00</updated><title type='text'>Search your entire Domain for a particular smtp email address, or 'proxyAddresses' attribute</title><content type='html'>I understand it can be pretty tricky to find an existing SMTP address, especially if that address is assigned to a group or Public Folder. Most of the solutions I've seen for this problem involve printing a list of all addresses in the domain and sorting through that by hand, or searching ONLY public folders, or only users, etc. Visit &lt;a href="http://hellomate.typepad.com/exchange/2003/08/finding_smtp_ad.html"&gt;typepad&lt;/a&gt; for information on how to do these types of searches.&lt;br /&gt;&lt;br /&gt;Although you might find these methods useful and not too time consuming if you're in a small domain, in a large domain this could take a while. And what if you only need to find what user/group/public folder a single address is assigned to? Who wants to wade through a ton of reports to find that single address? Anyways, I wrote a little vbscript to do it. To give you a little background, the email addresses you see listed under the E-mail addresses tab in the ADUC are stored in AD in what's called a 'multivalued' attribute. Meaning just what it says, this attribute can hold more than one value, meaning one user can have several different email addresses, or 'proxyAddresses'.&lt;br /&gt;&lt;br /&gt;Anyways, to use the script just edit the first line so that it matches the address you're looking for (it's not case sensitive, and don't remove the SMTP portion!), save the file as search.vbs (or whatever.vbs) and double click. It may take a few minutes to run depending on how large your domain is, but if the address is assigned to a user, group or public folder, the script should find it.&lt;br /&gt;&lt;br /&gt;strAddress = lcase("SMTP:anyone@domain.com")&lt;br /&gt;strFound = FALSE&lt;br /&gt;&lt;br /&gt;Set objRootDSE = GetObject("LDAP://rootDSE")&lt;br /&gt;Set objDomainRoot = GetObject("LDAP://"&amp; _&lt;br /&gt; objRootDSE.Get("defaultNamingContext"))&lt;br /&gt;wscript.Echo "Searching for address "&amp; _&lt;br /&gt;"SMTP:kris@norfolk.gov. Click OK to continue"&lt;br /&gt;&lt;br /&gt;For Each objItem in objDomainRoot&lt;br /&gt;If strFound = FALSE Then&lt;br /&gt;    'wscript.Echo objitem.Name&lt;br /&gt;    If objItem.Class="organizationalUnit" Then&lt;br /&gt;        'wscript.Echo objItem.ADSPath&lt;br /&gt;        OURecurse objItem.ADSPath&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    If objItem.Class="user" Then&lt;br /&gt;        'wscript.Echo objItem.name&lt;br /&gt;        ProcessUsers objItem&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    If objItem.Class="group" Then&lt;br /&gt;        ProcessUsers objItem&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    'The below portion of code searches public folders&lt;br /&gt;    If objItem.cn ="Microsoft Exchange System Objects" then&lt;br /&gt;        'wscript.Echo objItem.Name&lt;br /&gt;        OURecurse objItem.ADSPath&lt;br /&gt;    End If&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;wscript.Echo "All Done"&lt;br /&gt;&lt;br /&gt;Set objRootDSE         = Nothing&lt;br /&gt;Set objDomainRoot     = Nothing&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'*************************************************&lt;br /&gt;Sub ProcessUsers(objUsers)&lt;br /&gt;On Error Resume Next&lt;br /&gt;&lt;br /&gt;'wscript.Echo objUsers.Name&lt;br /&gt;set objProxy = GetObject("LDAP://"&amp; objUsers.distinguishedName)&lt;br /&gt;    For Each proxyAddresses in objProxy.GetEx("proxyAddresses")&lt;br /&gt;        If lcase(proxyAddresses) = strAddress then&lt;br /&gt;            If objProxy.Class="publicFolder" then&lt;br /&gt;                wscript.Echo "Proxy address "&amp;amp; strAddress &amp;" is assigned to a "&amp;amp; _&lt;br /&gt; "Public Folder named '"&amp; objProxy.displayName &amp;amp;"', "&amp; _&lt;br /&gt;"in Public Folder Path "&amp;amp; objProxy.folderPathname&lt;br /&gt;            Else&lt;br /&gt;                wscript.Echo "Proxy address "&amp; strAddress &amp;amp;" is assigned "&amp; _&lt;br /&gt;"to the user or group with a samAccountName of '"&amp;amp; _&lt;br /&gt;objProxy.saMAccountName &amp;"' and a display name of "&amp;amp; _&lt;br /&gt; objProxy.displayName&lt;br /&gt;            End If&lt;br /&gt;            strFound = TRUE&lt;br /&gt;        End If&lt;br /&gt;    Next&lt;br /&gt;&lt;br /&gt;set objProxy = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**************************************************&lt;br /&gt;Sub OURecurse(objFirst)&lt;br /&gt;&lt;br /&gt;' This OU is responsible for going through the AD Structure&lt;br /&gt;&lt;br /&gt; Dim objOrgUnit, objItem&lt;br /&gt;&lt;br /&gt; Set objOrgUnit = GetObject(objFirst)&lt;br /&gt; For Each objItem in objOrgUnit&lt;br /&gt;      If objItem.Class="user" Then&lt;br /&gt;          'wscript.Echo objItem.Name&lt;br /&gt;          ProcessUsers objItem&lt;br /&gt;      End If&lt;br /&gt; &lt;br /&gt;      If objItem.Class="group" Then&lt;br /&gt;          ProcessUsers objItem&lt;br /&gt;      End If&lt;br /&gt; &lt;br /&gt;      If objItem.Class="publicFolder" Then&lt;br /&gt;        ProcessUsers objitem&lt;br /&gt;      End If&lt;br /&gt; &lt;br /&gt;      If objItem.Class="organizationalUnit" Then&lt;br /&gt;          'wscript.Echo objItem.Name&lt;br /&gt;          OURecurse objItem.ADSPath&lt;br /&gt;      End If&lt;br /&gt; Next&lt;br /&gt;&lt;br /&gt; Set objOrgUnit = Nothing&lt;br /&gt; Set objFirst     = Nothing&lt;br /&gt;&lt;br /&gt;End Sub&lt;br /&gt;'**********************************************&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/13198810-111713926172836176?l=krisdev.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://krisdev.blogspot.com/feeds/111713926172836176/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=13198810&amp;postID=111713926172836176' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111713926172836176'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/13198810/posts/default/111713926172836176'/><link rel='alternate' type='text/html' href='http://krisdev.blogspot.com/2005/05/search-your-entire-domain-for.html' title='Search your entire Domain for a particular smtp email address, or &apos;proxyAddresses&apos; attribute'/><author><name>kristinaw</name><uri>http://www.blogger.com/profile/11103059688769806463</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='24' height='32' src='http://www.outlookexchange.com/articles/KristinaWaters/me4.jpg'/></author><thr:total>0</thr:total></entry></feed>
