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

Azure AD PowerShell调用Get-AzureADGroup报无效对象ID错误解决咨询

问题原因

你的推测正确,报错根本原因是$GroupObjectID变量存储的是包含ObjectId属性的PSCustomObject对象,而非纯字符串类型的ObjectId值。调用Get-AzureADGroup时-ObjectId参数要求传入字符串格式的ID,无法识别你传入的对象结构,错误提示里的@{ObjectId=a0xxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxx}就是PowerShell把自定义对象转成字符串时的默认格式。
Write-Output能正常展示ID的原因是PowerShell输出对象时会自动格式化展示属性内容,仅属于展示层面的正常效果,不代表变量存储的是纯字符串。
另外注意检查变量名一致性:你代码里定义的变量是$GroupObjectID,报错中调用命令时使用的变量名为$DecryptGroupObjectID,如果是笔误也需要同步修正。

解决方案

你可以任选以下任意一种方法修复:

  • 方法1:赋值时直接展开属性取字符串值(最推荐)
    修改第一行赋值代码,添加-ExpandProperty参数直接提取ObjectId的字符串值:
$GroupObjectID = Get-AzureADGroup -SearchString "XXXXXXXXXXXXXXXXXXXX" | Select-Object -ExpandProperty ObjectId
# 后续可以直接正常调用
Get-AzureADGroup -ObjectId $GroupObjectID
  • 方法2:调用时直接访问对象的属性值
    如果你不想修改原有赋值逻辑,调用命令时直接访问变量的ObjectId属性即可:
Get-AzureADGroup -ObjectId $GroupObjectID.ObjectId
  • 方法3:赋值时强转为字符串
    也可以在赋值时通过强转直接拿到字符串格式的ID:
$GroupObjectID = [string](Get-AzureADGroup -SearchString "XXXXXXXXXXXXXXXXXXXX").ObjectId

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 16:45:03