Help with Exchange address book
I am adding a IP phone field to the address book and I found a script to pull the information from AD to the address book. What I have read about the script is that it will only do about 200 users but, I need around 1300 users and I will not do it when adding a new user I will have to run it reach time. What I need help with is adding more users and having this run all the time so when a new user is added the information is add by default. Here is the script. # Script to copy the IpPhone attribute the extensionAttribute1 attribute # Written by Ben Lye - 07 December 2009 # Find the users in AD using an ADSI search method $searcher = new-object DirectoryServices.DirectorySearcher([ADSI]"") # Filter for enabled user accounts with a value in the IpPhone attribute $searcher.filter = "(&(IpPhone=*)(objectCategory=person)(!(useraccountcontrol:1.2.840.113556.1.4.803:=2)))" # Return the sorted results $objects = $searcher.findall() | Sort-Object -Property cn # Loop through all the objects that the search returned ForEach ($object in $objects) { # Store some attribute values into variables $ipphone = $object.properties.ipphone $extensionattribute1 = $object.properties.extensionattribute1 $dn = $object.properties.distinguishedname $adspath = $object.properties.adspath # If IpPhone is not equal to extensionAttribute1 then process this object If ($ipphone -ne $extensionattribute1) { # Get the ADSI object $adsiobject = [ADSI]"$adspath" # Set the attribute $adsiobject.extensionattribute1 = $ipphone # Commit the changes $adsiobject.SetInfo() # Output what just changed Write-Host $dn ":" $extensionAttribute1 "-->" $IpPhone } }
June 4th, 2012 2:44pm

Hi Rich, try it. The documented parameter sizelimit does not work. The documentation says the the valid value range for pagesize is 0 to 1000 But even if <ou use "1" all results for the Ldap Search will be returned. This information is for using Powershell only. It maybe possible that using vbscript or other languages it will work in a diffrent way. regards Thomas Paetzold visit my blog on: http://sus42.wordpress.com
Free Windows Admin Tool Kit Click here and download it now
June 5th, 2012 1:17am

On Tue, 5 Jun 2012 05:17:54 +0000, Peddy1st wrote: >try it. The documented parameter sizelimit does not work. The documentation says the the valid value range for pagesize is 0 to 1000 But even if <ou use "1" all results for the Ldap Search will be returned. If you're using "pagesize" then "sizelimit" must be set to zero. But you recommended using "pagesize", not "sizelimit" so I'm not sure why you're mentioning "sizelimit" now. If, for example, you have a directory of 100,000 objects and you don't set either pagesize or sizelimit then you'll only get back as many results as the AD is configured to return in one page (typically 1,000 or 1,500) no matter how many objects match the search criteria. If you set sizelimit to somethng smaller than that AD limit of 1,000 or 1,500 you won't get back more than "sizelimit" results no matter how many objects match the search criteria (and they'll all be returned in one search page). If you use pagesize and set it to a value not larger than the AD limit (using 1,000 is a safe value unless the AD has been restricted to something smaller) you get back all the objects that match the search criteria in batches not larger than the pagesize value. >This information is for using Powershell only. It maybe possible that using vbscript or other languages it will work in a diffrent way. It's worked the right way in Perl, VBS, and Powershell for me. The values aren't language specific. --- Rich Matheisen MCSE+I, Exchange MVP --- Rich Matheisen MCSE+I, Exchange MVP
June 5th, 2012 8:42pm

Instead of 1 I had to use 3000. Thanks for your help.
Free Windows Admin Tool Kit Click here and download it now
June 6th, 2012 9:10am

On Wed, 6 Jun 2012 02:05:04 +0000, Peddy1st wrote: >this is what it should be concernng the documentation. But I think it works diffrent. Dont use sizelimit only pagesize and set this property to the value of 1. Leave the vaue for sizelimit to its default value. In this case you will get all matching objects regardless of the amount of data. Yes, you will, but only one object at a time from the AD. Set the pagesize to a value that makes sense (depending on how large the AD is, how long the query takes, how many results you expect, and how long you want to wait for the results). --- Rich Matheisen MCSE+I, Exchange MVP --- Rich Matheisen MCSE+I, Exchange MVP
June 6th, 2012 2:02pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics