如何为不同的受信任域上的用户获取完全限定域名 (FQDN)?
通常,我会要求所述用户采用此处概述的任何一种方法(例如whoami /fqdn
或echo %userDNSdomain%
),但如果这种方法由于某种原因不可用(例如,该帐户是我无法以交互方式登录的代理帐户,我工作的公司被收购了,新的所有者没有那么快,等等),有没有办法获得这个不同用户帐户的 FQDN?
或者,采用“模拟”我的用户凭据返回的 FQDN 的方法也容易出错。whoami /fqdn
以我的用户身份运行的输出为例:
C:\Users\john.eisbrener>whoami /fqdn
CN=John M. Eisbrener,OU=Standard Users,OU=Resources,DC=CONTOSO,DC=COM
我可以在概念CONTOSO
上将域组件调整为另一个受信任的域,期望它遵循相同的结构,但这将是短视的,因为并非所有域都遵循相同的命名约定。我见过太多受信任的域.org
在其 LDAP 根路径中使用或包含其他域前缀或后缀。
所有这一切的主要驱动因素是我需要将正确的域组件传递给以下 PowerShell 查询,我在尝试查找可能需要将哪些用户组和用户名添加到某些安全组、文件路径等时依赖这些查询.
## List Groups for a Username
$domainName = 'CONTOSO'
$domainSuffix = 'COM'
$username = 'john.eisbrener'
(New-Object System.DirectoryServices.DirectorySearcher((New-Object System.DirectoryServices.DirectoryEntry("LDAP://dc=$($domainName),dc=$($domainSuffix)")), "(&(objectCategory=User)(samAccountName=$($username)))")).FindOne().GetDirectoryEntry().memberOf | % { (New-Object System.DirectoryServices.DirectoryEntry("LDAP://"+$_)) } | Sort-Object sAMAccountName | SELECT @{name="Group Name";expression={$_.Name}},@{name="Group sAMAccountName";expression={$_.sAMAccountName}}
## List Members in a Group
$domainName = 'CORP'
$domainSuffix = 'ORG'
$groupname = 'RemoteUsers'
(New-Object System.DirectoryServices.DirectoryEntry((New-Object System.DirectoryServices.DirectorySearcher((New-Object System.DirectoryServices.DirectoryEntry("LDAP://dc=$($domainname),dc=$($domainSuffix)")), "(&(objectCategory=Group)(name=$($groupname)))")).FindOne().GetDirectoryEntry().Path)).member | % { (New-Object System.DirectoryServices.DirectoryEntry("LDAP://"+$_)) } | Sort-Object sAMAccountName | SELECT @{name="User Name";expression={$_.Name}},@{name="User sAMAccountName";expression={$_.sAMAccountName}}
为什么我不能安装任何其他组件或模块?我使用的计算机非常普通,没有任何额外的 PowerShell 模块或 mmc 管理单元 (ef dsa.msc
) 可用,因为我的用户帐户没有足够的权限来安装软件。
我目前获取此其他用户域的 FQDN 的方法是设置以所述用户身份运行的 Windows 计划任务,将上述whoami /fqdn
或echo %userDNSdomain%
命令的输出保存到文本文件中,但这似乎有点笨拙,我希望有一个简单的我可以从命令提示符或 PowerShell 提示符运行的单行程序。任何建议,将不胜感激。
最后一点,如果我的术语不正确或导致混淆,我深表歉意。我愿意接受理解我所问内容的人对此进行的任何编辑。