【问题标题】:Get-AzureADUser filter - for special charactersGet-AzureADUser 过滤器 - 用于特殊字符
【发布时间】: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'"
  • 试过了,没用。

标签: powershell azure-active-directory azure-powershell


【解决方案1】:

我无法从“mail eq '$user'”所有用户获取信息,此字段为空。

$result = get-azureaduser -filter "userPrincipalName eq '$user'"

这对我有用。

【讨论】:

  • 这取决于。我有一个要查找的电子邮件列表。他们中的一些人在邮件中有报价'。我不知道如何解决这个问题。
  • 我在网上阅读,这就是我发现邮件属性与“Exchange Online”帐户相关联的内容,请查看 Exchange Online 并查看“邮件”字段是否具有相同的拼写错误的邮件字段。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 1970-01-01
  • 2015-09-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多