[ADSI]::Exists выдает исключение вместо возврата False

Я пытаюсь создать пользователя с помощью объекта ADSI, если он еще не существует. Вот странные результаты, которые я получаю

#Check a user that I know exists
[ADSI]::Exists("WinNT://localhost/micah,user") #True

#Check a group that I know exists
[ADSI]::Exists("WinNT://localhost/administrators,group") #True

#Check a group that DOESN'T exist
[ADSI]::Exists("WinNT://localhost/whoops,group") #False

#Check a user that DOESN'T exist (NOT specifying that the obect is a user)
[ADSI]::Exists("WinNT://localhost/test") #False (This works fine)

#Check a user that DOESN'T exist (specifying that the obect IS a user)
[ADSI]::Exists("WinNT://localhost/test,user") 
#Throws exception "The user name could not be found"

Последняя строка не имеет для меня никакого смысла. Почему он выдает исключение, когда я указываю, что я специально ищу пользователя, но когда я НЕ указываю, что мне нужен пользователь, он работает нормально? Мне это кажется совершенно неинтуитивным. Что я упускаю?

5
задан Micah 25 May 2012 в 15:58
поделиться