Awesome. Thanks Damien. I really do intend to learn Powershell one of these days, honest.
From: Damien Solodow [mailto:[email protected]] Sent: Wednesday, January 23, 2013 1:18 PM To: Heaton, Joseph@Wildlife; NT System Admin Issues Subject: RE: Help with this script Yep. The line $OUlist = @(Get-ADOrganizationalUnit -filter * -Credential $cred -SearchBase $domain.distinguishedName -SearchScope OneLevel -Server $domain.DNSroot) Change OneLevel to SubTree DAMIEN SOLODOW Systems Engineer 317.447.6033 (office) 317.447.6014 (fax) HARRISON COLLEGE From: Heaton, Joseph@Wildlife [mailto:[email protected]] Sent: Wednesday, January 23, 2013 4:14 PM To: NT System Admin Issues Subject: Help with this script I found this script, to count user objects in all OUs. The report doesn't list all OUs, so I was wondering if anyone could tell me if it has a limit as to how deep it will go to count. Here's the script: Import-Module activeDirectory $fqdn = Read-Host "Enter FQDN domain" $cred = Get-Credential Write-Host "Contacting $fqdn domain..." -ForegroundColor Yellow $domain = (get-addomain $fqdn -Credential $cred | select distinguishedName,pdcEmulator,DNSroot,DomainControllersContainer) Write-Host "Completed. Enumerating OUs.." -ForegroundColor Yellow $OUlist = @(Get-ADOrganizationalUnit -filter * -Credential $cred -SearchBase $domain.distinguishedName -SearchScope OneLevel -Server $domain.DNSroot) Write-Host "Completed. Counting users..." -ForegroundColor Yellow for($i = 1; $i -le $oulist.Count; $i++) {write-progress -Activity "Collecting OUs" -Status "Finding OUs $i" -PercentComplete ($i/$OUlist.count*100)} $newlist = @{} foreach ($_objectitem in $OUlist) { $getUser = Get-ADuser -Filter * -Credential $cred -SearchBase $_objectItem.DistinguishedName -SearchScope Subtree -Server $domain.pdcEmulator | measure | select Count for($i = 1; $i -le $getUser.Count; $i++) {write-progress -Activity "Counting users" -Status "Finding users $i in $_objectitem" -PercentComplete ($i/$getUser.count*100)} $newlist.add($_objectItem.Name, $getUser.Count) } $newlist > .\OUuserCount.txt Write-Host "All done!" -ForegroundColor yellow So, the report that it creates only lists top level OUs under the domain. I think it does, however, dig down under that to get the count, but just wanted to make sure. Thanks, Joe Heaton Enterprise Server Support CA Department of Fish and Wildlife 1807 13th Street, Suite 201 Sacramento, CA 95811 Desk: (916) 557-3422 ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~ --- To manage subscriptions click here: http://lyris.sunbelt-software.com/read/my_forums/ or send an email to [email protected]<mailto:[email protected]> with the body: unsubscribe ntsysadmin ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~ --- To manage subscriptions click here: http://lyris.sunbelt-software.com/read/my_forums/ or send an email to [email protected]<mailto:[email protected]> with the body: unsubscribe ntsysadmin ~ Finally, powerful endpoint security that ISN'T a resource hog! ~ ~ <http://www.sunbeltsoftware.com/Business/VIPRE-Enterprise/> ~ --- To manage subscriptions click here: http://lyris.sunbelt-software.com/read/my_forums/ or send an email to [email protected] with the body: unsubscribe ntsysadmin
