如何使用powershell从UPS获取单用户配置文件?

如何使用powershell从UPS获取单用户配置文件?,powershell,sharepoint,Powershell,Sharepoint,我对Powershell世界还不熟悉。我希望使用Powershell从UPS获取单用户数据,而不是通过UPS中的每个用户进行循环。 我也跟着。在这里,他们将电子邮件与UPS电子邮件进行比较,然后在UPS中获取匹配电子邮件的配置文件 Add-PSSnapin "Microsoft.SharePoint.PowerShell" $emailAddress = "EMAIL ADDRESS YOU WISH TO QUERY" $site = Get-SpSite $mySitesURL; $cont

我对Powershell世界还不熟悉。我希望使用Powershell从UPS获取单用户数据,而不是通过UPS中的每个用户进行循环。 我也跟着。在这里,他们将电子邮件与UPS电子邮件进行比较,然后在UPS中获取匹配电子邮件的配置文件

Add-PSSnapin "Microsoft.SharePoint.PowerShell"
$emailAddress = "EMAIL ADDRESS YOU WISH TO QUERY"
$site = Get-SpSite $mySitesURL;
$context = Get-SPServiceContext $site;
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
$allProfiles = $profileManager.GetEnumerator()
foreach ($profile in $allProfiles) {
    if ($profile.GetProfileValueCollection("WorkEmail") -eq $emailAddress) {
        $profile
    }
}

我想这就是你要找的。试试这个:

Add-PSSnapin "Microsoft.SharePoint.PowerShell"
$emailAddress = "EMAIL ADDRESS YOU WISH TO QUERY"
$site = Get-SpSite $mySitesURL;
$context = Get-SPServiceContext $site;
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
$userProfile  = $profileManager.GetEnumerator()| Where-Object {$_["WorkEmail"].value -like $emailAddress}

它将根据
$emailAddress
仅获取单用户数据。您不需要遍历UPS中的每个用户配置文件。

我认为这就是您要查找的内容。试试这个:

Add-PSSnapin "Microsoft.SharePoint.PowerShell"
$emailAddress = "EMAIL ADDRESS YOU WISH TO QUERY"
$site = Get-SpSite $mySitesURL;
$context = Get-SPServiceContext $site;
$profileManager = New-Object Microsoft.Office.Server.UserProfiles.UserProfileManager($context)
$userProfile  = $profileManager.GetEnumerator()| Where-Object {$_["WorkEmail"].value -like $emailAddress}

它将根据
$emailAddress
仅获取单用户数据。您不需要遍历UPS中的每个用户配置文件。

没问题@SMD:)没问题@SMD:)