String 如何使用PowerShell 2.0避免Get QADUser查询返回多个属性字符串

String 如何使用PowerShell 2.0避免Get QADUser查询返回多个属性字符串,string,powershell,active-directory,ldap,quest,String,Powershell,Active Directory,Ldap,Quest,我在PowerShell 2.0中使用Get-QADUser和.DirectoryEntry.FirstName进行多个LDAP查询并返回字符串。这些多个呼叫速度很慢。如何使一个Get QADUser LDAP查询仅用于从select属性创建字符串 例如: ADD-PSSnapin Quest.Activeroles.ADManagement $searchDomainFrom = 'domain.net/OUPath/Users' $user = UserName

我在PowerShell 2.0中使用Get-QADUser和.DirectoryEntry.FirstName进行多个LDAP查询并返回字符串。这些多个呼叫速度很慢。如何使一个Get QADUser LDAP查询仅用于从select属性创建字符串

例如:

    ADD-PSSnapin Quest.Activeroles.ADManagement
    $searchDomainFrom = 'domain.net/OUPath/Users'
    $user = UserName

    $FirstName = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.FirstName
    $LastName = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.LastName
    $Email = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.Email
    $Supervisor = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.Manager
    $OfficeLocation = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.Office
    $PhoneNumber = (Get-QADUser -SearchRoot $searchDomainFrom $user).DirectoryEntry.PhoneNumber

只需进行一次查询,然后从第一次返回的对象中获取字符串

$Current = Get-QADUser -SearchRoot $searchDomainFrom $user
$FirstName = $Current.DirectoryEntry.FirstName
$LastName = $Current.DirectoryEntry.LastName
$Email = $Current.DirectoryEntry.Email
$Supervisor = $Current.DirectoryEntry.Manager
$OfficeLocation = $Current.DirectoryEntry.Office
$PhoneNumber = $Current.DirectoryEntry.PhoneNumber

谢谢,这似乎适用于$FirstName和$LastName$电子邮件返回方法成员类型。如何让它返回字符串?我不使用Quest插件,但我认为它应该有一个
.Email.ToString()
方法,您可以尝试。您是我的英雄。它的工作方式为$Email=$CurrentUser.Email.ToString()