使用 Powershell 通过 ADSI 从不同域中提取 Active Directory 用户属性

问题描述 投票:0回答:1

我正在尝试从不同的域获取用户属性,例如路径、givenName、sn 等。

如果我在 Active Directory 服务器域控制器中运行以下代码,则可以正常工作

$userId = 'UserID'
$UserDN = (Get-ADUser -F {SamAccountName -eq $userId})
$Command = [ADSI] "LDAP://$UserDN"
$Command | select * | format-list

然后我尝试使用 cmdlet Get-StoredCredential 和 Get-ADUser 在本地运行脚本,希望获得相同的结果,但它只是返回空白属性

$Credential =$(Get-StoredCredential -Target targetdomaincredential)
$userId = 'UserID'
$UserDN = (Get-ADUser -Server ADDCX-Credential $Credential -F {SamAccountName -eq $userId})
$Command = [ADSI] "LDAP://$UserDN"
$Command | select * | format-list

感谢任何帮助,或者如果有人能指出我正确的方向,那就太好了!

powershell adsi
1个回答
0
投票

如果您需要凭据来使用 AD 模块查询

AADCX
,那么您还需要它们来使用
adsi
进行查询。

$Command = [adsi]::new(
    "LDAP://$UserDN",
    $Credential.UserName,
    $Credential.GetNetworkCredential().Password)

$Command | Select-Object * | Format-List
© www.soinside.com 2019 - 2024. All rights reserved.