PowerShell 使用 DisplayNames 查找 UserPrincipalName

PowerShell Look Up UserPrincipalName using DisplayNames

我正在尝试编写一个脚本来导入 CSV 文件,return 来自 AzureAD 的 UserPrincipalName。

出于某种原因,它只是没有读取文件中的名称,return是一个空列表。 但是,如果我手动输入名称,它就可以工作。 CSV文件只有一列,格式为:

User
FirstName1 LastName1
FirstName2 LastName2
FirstName3 LastName3

脚本:

$UserCSV = Import-Csv -Path "C:Path\to\file.csv"

foreach($user in $UserCSV)
    {
        Get-AzureADUser -SearchString $user | Select DisplayName, UserPrincipalName, Email
     
     }

问题是,如果我写 $UserCSV = "FirstName1 LastName1", "FirstName2 LastName2" 它可以正常工作。

任何指导将不胜感激。

您可以在 for each 循环中将 $user 更改为 $user.User

同时将 Email 更改为 Mail

最终脚本将是:

$UserCSV = Import-Csv -Path "C:Path\to\file.csv"

foreach($user in $UserCSV)
{
        Get-AzureADUser -SearchString $user.User | Select DisplayName, UserPrincipalName, Mail
     
}