如何正确调用Invoke-MgSubscribeGroup并传递UserId参数
错误原因
你遇到的报错是因为直接传递未绑定参数名的哈希表时,PowerShell无法找到匹配的位置参数接收该哈希表值。Invoke-MgSubscribeGroup 没有可接受哈希表类型的默认位置参数,因此无法识别你传入的@{ UserId = "xxx" }对应哪个参数。
正确调用语法
写法1:直接传参(最简洁)
直接使用内置的-UserId参数传递用户ID,不需要构造哈希表:
Invoke-MgSubscribeGroup -GroupId 'da2d17a7-64a5-43e5-9d95-7b70333dd78c' -UserId 'ed3d927d-7999-459f-955d-2afc272bd4d4'
写法2:显式指定哈希表对应参数
如果你需要按文档说明用哈希表传递参数,需明确指定哈希表对应-BodyParameter参数,同时换行处加反引号``转义换行符:
Invoke-MgSubscribeGroup -GroupId 'da2d17a7-64a5-43e5-9d95-7b70333dd78c' ` -BodyParameter @{ UserId = "ed3d927d-7999-459f-955d-2afc272bd4d4" }
写法3:参数展开(Splatting,可读性最高)
参数较多时推荐用参数展开写法,不需要处理换行转义:
$subscribeParams = @{ GroupId = 'da2d17a7-64a5-43e5-9d95-7b70333dd78c' UserId = 'ed3d927d-7999-459f-955d-2afc272bd4d4' } Invoke-MgSubscribeGroup @subscribeParams
内容的提问来源于stack exchange,提问作者Uwe Keim
相关产品推荐
相关产品推荐

