You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell的Get-AzureAdUser命令中处理含单引号的用户名

解决Get-AzureAdUser查询含单引号邮箱时的语法错误

当邮箱地址包含单引号时,原查询的Filter语法会因为单引号未转义导致OData解析错误。解决核心是转义邮箱字符串中的单引号——在OData查询规则里,字符串内部的单引号需要用两个连续单引号表示。

具体实现步骤:

  1. 先对邮箱变量中的单引号进行替换转义
  2. 使用转义后的邮箱构建Filter查询

示例代码:

# 转义邮箱内的单引号:将单个'替换为''
$escapedEmail = $email -replace "'", "''"
# 执行查询
$user = Get-AzureAdUser -Filter "mail eq '$escapedEmail'"

原理说明:

假设原邮箱是o'neill@contoso.com,未转义时生成的Filter是mail eq 'o'neill@contoso.com',第二个单引号会被OData解析为字符串结束标记,后续的neill@contoso.com'就成了无效语法,触发错误。转义后Filter变为mail eq 'o''neill@contoso.com',服务端会正确识别''为字符串内的单个单引号,从而正常执行查询。

内容的提问来源于stack exchange,提问作者Andy Lawrence

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 01:29:49