2016-12-19 5 views
0

В моем скрипте powershell мне нужно определить, существует ли учетная запись, и я хочу построить одну функцию, чтобы возвращать логическое значение.Определить, существует ли учетная запись

Вот моя текущая функция - проблема с этим заключается в том, что мне нужно знать, перед каким видом учетной записи это нужно. Вы не можете запустить get-mailuser против лицензированной учетной записи, и вы не можете запустить get-mailbox против объекта Mail-User или Mail-Contact. Я понимаю, что это два разных модуля, взаимодействующих с двумя разными объектами.

Итак, как я могу исправить эту функцию, чтобы я мог просто проверить наличие учетной записи, не зная, что это за учетная запись?

#test for existing account 
function accountexists($whatusertype, $whatusername){ 
    $itexists = $false 
    switch($usertype){ #you can't use get-mailbox for mail-users or mail-contacts 
     ("mail-user"){$itexists = [bool](get-mailuser -identity $whatusername -ErrorAction SilentlyContinue) } 
     ("mail-contact"){ $itexists = [bool](get-mailuser -identity $whatusername -ErrorAction SilentlyContinue)} 
     ("licensed"){ $itexists = [bool](get-mailbox -identity $whatusername -ErrorAction SilentlyContinue) } 
    } 
    return $itexists 
} 

Или, может быть, право собственности на этот вопрос должен быть How to determine account type?

+0

Как использовать Get-AdObject? технически, если есть вероятность, что ПК или группа существует с именем, это может дать ложное положительное значение, но если ваше соглашение об именах отличается для пользователей и групп, это не должно быть проблемой. –

+0

@MikeGaruccio: Mail-пользователь не будет частью объекта Ad. Он просто находится на сервере Exchange. Но да, вы можете вытащить объект других пользователей, за исключением нескольких случаев. –

ответ

2

Так в основном вы должны проверить получатель я считаю.

Get-реципиент -Identity [email protected]

возвращает объект получателя.

Вы можете использовать -ANR для поиска с помощью неоднозначного разрешения имен

Get-реципиент -ANR user01

Примечание: ANR может возвращать несколько матчей, и это не даст совпадает с псевдонимом SMTP.

+0

Отлично! Только то, что я хотел. – bgmCoder

+0

@bgmCoder: Примите также ответ. :) –

+0

Может, помогите мне и с этим? http://stackoverflow.com/questions/41228557/how-to-determine-account-type – bgmCoder

Смежные вопросы