使用PowerShell Splatting时出现「未知参数」错误的技术求助
问题解决:PowerShell Splatting 用于 PAC 命令报错的处理
问题原因
PAC 是外部可执行程序,并非 PowerShell 原生 cmdlet。你使用的哈希表(@{})形式的 Splatting 是为 PowerShell cmdlet 设计的,它会将键值对转换为 -参数名:参数值 的格式传递给外部命令,但 PAC 不支持这种冒号分隔的参数格式,而是需要 -参数名 参数值 这种空格分隔的形式,因此触发了「未知参数」错误。
解决方案
改用数组形式的 Splatting,将每个参数标识和对应值作为数组的独立元素:
$connectorParameters = @( '-df', 'C:\OpenApi.json', '-pf', 'C:\apiProperties.json', '-env', 'd2000000-3b68-4306-bf05-00000000000', '-if', 'C:\icon.png', '-id', 'd2000000-3b68-4306-bf05-1111111111' ) pac connector update @connectorParameters
这种方式会将数组中的元素按顺序传递给 PAC 命令,完全匹配手动输入参数的格式,因此可以正常执行。
内容的提问来源于stack exchange,提问作者user527614
相关产品推荐
相关产品推荐

