在我的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
}
或许这个问题的标题应该是How to determine account type?
答案 0 :(得分:2)
所以基本上你应该检查我相信的收件人。
Get-Recipient -Identity user01@mydomain.com
将返回收件人对象。
您可以使用 -ANR 来搜索不明确的名称解析
Get-Recipient -ANR user01
注意:ANR可以返回多个匹配项,但不会给出SMTP别名匹配。