У меня есть скрипт powershell, который вызывает Get-ADUser для создания списка пользовательских объектов из Active Directory. Сценарий обрабатывает список пользователей с помощью логики, которая оценивает значение свойства Enabled пользователя (логическое значение).
Я обнаружил, что оценка свойства Enabled работает, когда скрипт запускается от имени администратора домена. Но когда я запускаю его как администратор альтернативного домена (т. Е. Учетную запись, которую я создал путем копирования пользователя с правами администратора), сценарию не удается оценить свойство Enabled. На самом деле, как будто собственность не существует.
Вот код, который иллюстрирует проблему.
$users = Get-ADUser -Filter "*" -SearchBase "OU=Customers,OU=STORE1,DC=SOME,DC=COMPANY"
foreach($u in $users){
if($u.Enabled -eq $true)
{
write-host "Enabled"
}
}
Если я запускаю его от имени администратора, код выводит «Включено» для включенных пользователей AD в списке. Но если я запускаю его как пользователь с правами администратора (созданный копированием Администратора), я не получаю никакого вывода вообще.
Чтобы дополнительно проиллюстрировать проблему, если я запускаю этот код от имени администратора
$users | ForEach-Object{$_.Enabled}
скрипт выводит
True
True
False
True
... etc
но ничего не выводится, если я запускаю его в качестве альтернативного администратора.
У вас есть идеи, почему это так?