AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 1034769
Accepted
Andrew
Andrew
Asked: 2020-09-22 09:22:56 +0800 CST2020-09-22 09:22:56 +0800 CST 2020-09-22 09:22:56 +0800 CST

从电子邮件地址识别用户的域

  • 772

我在一个在森林中有多个域的组织中。大多数域都有自己的电子邮件,但少数共享一个共同的电子邮件域。我有一个电子邮件地址列表,我需要确定它们来自哪个域。我已经尝试过 PowerShell 命令Get-ADUser,但它似乎只在我的域中工作。一个可接受的替代方法是确定用户是否不在某个域中。

active-directory domain
  • 2 2 个回答
  • 574 Views

2 个回答

  • Voted
  1. Daniel
    2020-09-23T11:19:11+08:002020-09-23T11:19:11+08:00

    此 PowerShell cmdlet 使用您指定的电子邮件地址搜索用户。它还返回作为辅助电子邮件地址的使用帐户:

    Get-ADUser -Filter "proxyAddresses -like '*[email protected]*'" # Keep the asterisks!
    

    如果您的组织中没有 Exchange,您也可以尝试使用 mail 属性。

    Get-ADUser -Filter "mail -like '[email protected]'" # Exact search, so no asterisk here.
    
    • 0
  2. Best Answer
    Andrew
    2020-09-24T12:27:56+08:002020-09-24T12:27:56+08:00

    我缺少的是服务器参数。该Get-ADUser命令仅在我的域中搜索。因此,如果我在my.domain.com但我想查看 [email protected] 是否是用户的电子邮件ur.domain.com,我需要指定一个不同的服务器,如下所示:

    Get-ADUser -Server "ur.domain.com" -Filter {EmailAddress -eq "[email protected]"}
    

    编辑:这又回来了,所以我终于构建了一个完整的脚本来做我需要的事情:

    date
    $da=@("a","b","c","d") #e domain not searchable
    $ra=@()
    $nf=@()
    foreach ($u in Get-Content "C:\pathtofile\filename.txt"){
        $dh = "not found"
        for ($i=0; $i -lt $da.length -and $dh -eq "not found"; $i+=1){
            $d=$da[$i]
            if (Get-ADUser -Server $d".domain.com" -Filter {EmailAddress -eq $u}){
                $dh = $d
            }
        }
        if ($dh -eq "not found"){
            $nf += $u
        }elseif (!($ra.Contains($dh))){
            $ra += $dh
        }
    }
    date
    ""
    "Results:"
    $ra
    ""
    "Not Found:"
    $nf
    

    这个脚本需要很长时间,所以我还按照$da最常见的预期对数组进行了排序,这样它就会更快地退出循环。

    • 0

相关问题

  • 如果以域用户身份远程登录,PC 速度极慢

  • 如何在 Windows 2003 的 ou 级别应用策略

  • 允许用户更改其 Active Directory 密码的 Web 界面

  • MOSS 2007 无法使用 ActiveDirectoryMembershipProvider 配置表单身份验证

  • 通过 VPN 更改 Active Directory 密码

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve