Я в конечном счете выяснил, как получить OU из http://www.microsoft.com/technet/scriptcenter/resources/pstips/dec07/pstip1207.mspx и думал, что я совместно использую результаты. Код для получения OUs является этим:
$strName = $env:username
$strFilter = "(&(objectCategory=User)(samAccountName=$strName))"
$objSearcher = New-Object System.DirectoryServices.DirectorySearcher
$objSearcher.Filter = $strFilter
$objPath = $objSearcher.FindOne()
$objUser = $objPath.GetDirectoryEntry()
$objUser.memberOf
Однако у меня затем была реализация, что использование OU будет чревато трудностью, поскольку пользователь может быть членом нескольких OU's. Я поэтому решил использовать поле Company в Пользовательском объекте. Из того же кода выше я могу сделать
$strCompany = $objUser.Company
И затем сделайте мое отображение диска.
Это отвечает на мой исходный вопрос, но только для интереса я должен упомянуть, что затем решил не использовать PowerShell для сценария входа в систему, в конце концов: Это просто слишком болезненно для развертывания; Вы не можете только поместить .ps1 файл в Групповую политику, необходимо явно назвать Powershell.exe от командного файла. Так, я переписал свой сценарий в vbscript за несколько минут и сожалел, что не запустил с этого :)