Get-AzureADUser 过滤器 - 用于特殊字符
Posted
技术标签:
【中文标题】Get-AzureADUser 过滤器 - 用于特殊字符【英文标题】:Get-AzureADUser filter - for special characters 【发布时间】:2022-01-13 13:31:03 【问题描述】:我有一个保存在文本文件中的电子邮件列表,用于检查帐户状态 (AccountEnabled)。我写了一个简单的脚本,虽然我得到了所有的结果,但屏幕上的错误让我很困扰。其中一些具有特殊字符。
$result = get-azureaduser -filter "mail eq '$user'"
显示的错误:(下面的电子邮件是为了隐私而编辑的)
get-azureaduser : Error occurred while executing GetUsers
Code: Request_BadRequest
Message: Syntax error at position 35 in 'mail eq 'test.y'ng@domain.com''.
RequestId: 9b72f5ae-213d-43dd-a89d-6c71828d5aa7
DateTimeStamp: Wed, 07 Dec 2021 13:22:37 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
At line:9 char:15
+ $result = get-azureaduser -filter "mail eq '$user'"
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Get-AzureADUser], ApiException
+ FullyQualifiedErrorId : Microsoft.Open.AzureAD16.Client.ApiException,Microsoft.Open.AzureAD16.PowerShell.GetUser
【问题讨论】:
查看转义引号是否有帮助:$user = $user.Replace("'","\'")
=> get-azureaduser -filter "mail eq '$user'"
试过了,没用。
【参考方案1】:
我无法从“mail eq '$user'”所有用户获取信息,此字段为空。
$result = get-azureaduser -filter "userPrincipalName eq '$user'"
这对我有用。
【讨论】:
这取决于。我有一个要查找的电子邮件列表。他们中的一些人在邮件中有报价'。我不知道如何解决这个问题。 我在网上阅读,这就是我发现邮件属性与“Exchange Online”帐户相关联的内容,请查看 Exchange Online 并查看“邮件”字段是否具有相同的拼写错误的邮件字段。以上是关于Get-AzureADUser 过滤器 - 用于特殊字符的主要内容,如果未能解决你的问题,请参考以下文章
如何在 Spring Cloud Gateway 中添加特定于路由的自定义过滤器