So, I'm taking the dive into PowerShell. I've been tasked with redoing permissions on every home folder in the domain (they do not all fall under the same sub-directory - that would be too easy). I have a batch script written that takes two parameters: user name, and home folder path and pumps them through SetACL.
I want to use PowerShell to get the user names and home folders for every user in an OU. So far, I can get the user names, but I cannot figure out how to get the home directories.
This is my PowerShell so far (borrowed from various sources across the web):
$Dom = "LDAP://OU=Accounts,DC=myDomain,DC=local"
$Root = New-Object DirectoryServices.DirectoryEntry $Dom
# Create a selector and start searching from the Root of AD
$selector = New-Object DirectoryServices.DirectorySearcher
$selector.SearchRoot = $root
$Selector.pagesize = 20000
# Basically this will only grab user accounts and not computer accounts.
$adobj= $selector.findall() | where {
$_.properties.objectcategory -match "CN=Person*"
}
foreach ($person in $adobj) {
$prop=$person.properties
Write-host "$($prop.cn)"
}
I'm eventually going to pipe the Write-host line into the setACL batch file, but I'm just writing the output for now to make sure that it's accurate. I've tried adding$($prop.homeDirectory)
to the Write-host line with no luck.
Any pointers or suggestions?