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 中添加特定于路由的自定义过滤器

使用特定于列的重复过滤器在 Python 中将行附加到 CSV

ActiveMQ消息过滤

nginx 防盗链

使用 PHP 过滤器(Filter)进行严格表单验证

Java拦截器 过滤器 监听器有何区别 都是啥