我很难使用Filter参数在或Get-MsolUser或Get-User中使用内置的过滤器参数来查询AAD或MSoL。
我导入了一个csv文件,并将该文件保存到具有以下结构的数组$users中:
EmailAddress,UserPrincipalName,ObjectID
只有EmailAddress列有值。我已经尝试构建一个foreach循环来遍历数组并向其他列添加值。
$users = import-csv .\users.csv
foreach($user in $users){
Get-AzureADUser -Filter "PrimarySMTPAddress eq '$($user.EmailAddress)'" | Select-Object UserPrincipalName, ObjectID
}
问题是嵌套在循环中的命令不返回任何值。
Get-AzureADUser -Filter "PrimarySMTPAddress eq 'user@contoso.com'" | Select-Object ObjectID, UserPrincipalName
确实有用。看起来,Filter命令从未读取数组$users中包含的值。
问题:
过滤器参数的正确语法是什么,这样我就可以循环遍历数组了?
如何将从Get-AzureADUser cmdlet获得的值保存到构造的数组中,以便无法将其导出到文件中?
发布于 2022-03-04 19:25:37
以前的问题,但你给了我一个线索,帮助我解决了同样的问题。需要回勾单引号:
Get-AzureADUser "mail eq '$($user.EmailAddress)
'“
https://stackoverflow.com/questions/68120107
复制相似问题