2016-12-19 2 views
0

내 powershell 스크립트에서 계정이 존재하는지 확인해야하며 부울을 반환하는 단일 함수를 생성하려고합니다.계정 존재 여부 확인

여기 내 현재 기능이 있습니다.이 문제는 어떤 유형의 계정인지 직접 알아야한다는 것입니다. 사용이 허가 된 계정에 대해 get-mailuser을 실행할 수 없으며 Mail-User 또는 Mail-Contact 개체에 대해 get-mailbox을 실행할 수 없습니다. 이 두 모듈이 서로 다른 두 개의 객체 세트와 상호 작용하기 때문입니다.

그래서이 계정을 알지 못하고 계정의 존재 여부 만 테스트 할 수 있도록이 기능을 어떻게 수정할 수 있습니까?

#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 
} 

아니면이 질문에 대한 제목은

+0

Get-AdObject를 사용하면 어떨까요? 기술적으로 이름이있는 PC 또는 그룹이 존재할 가능성이있는 경우 거짓 긍정을 줄 수 있지만 사용자 및 그룹에 대한 이름 지정 규칙이 다를 경우 이는 문제가되지 않습니다. –

+0

@MikeGaruccio : 메일 사용자는 광고 개체의 일부가 아닙니다. Exchange Server에만 있습니다. 하지만 네, 경우를 제외하고는 다른 사용자의 개체를 가져올 수 있습니다. –

답변

2

How to determine account type? 그래서 기본적으로 당신은 내가 믿는받는 사람을 확인해야해야한다.

가져 오기받는 -Identity [email protected]

는받는 사람 개체를 반환합니다.

당신은 -ANR이 모호한 이름 확인을 사용하여 검색하는 데 사용할 수있는

받기받는 -ANR User01과

: ANR은 여러 일치를 반환 할 수 있으며 제공하지 않습니다 SMTP 별칭이 일치합니다.

+0

완벽! 내가 원했던 것. – bgmCoder

+0

@bgmCoder : 대답도 수락하십시오. :) –

+0

어쩌면 이것도 도와주세요? http://stackoverflow.com/questions/41228557/how-to-determine-account-type – bgmCoder