使用New-AzResourceLock创建Azure资源锁时遇位置参数错误
解决Azure自动化Runbook中创建资源锁的PowerShell脚本错误
错误原因
错误提示A positional parameter cannot be found that accepts argument 'Auto'的核心问题是:-LockNotes参数的取值包含空格,但未用引号包裹。PowerShell会将空格后的Auto识别为一个未定义的位置参数,从而触发报错。
修正后的脚本
将-LockNotes的参数值用双引号或单引号包裹即可解决问题,完整脚本如下:
New-AzResourceLock -LockName test -LockLevel CanNotDelete -ResourceGroupName rg -ResourceName resorcename -LockNotes "Protection Auto created by Azure Backup" -ResourceType Microsoft.Storage/storageAccounts -Force
补充说明
- 在PowerShell中,所有包含空格的字符串参数都需要用引号包裹,这是处理带空格文本的标准规则
- 如果
LockNotes内容中包含单引号,优先使用双引号包裹;反之则用单引号;若两种引号都存在,可使用反引号(`)进行转义
内容的提问来源于stack exchange,提问作者User
相关产品推荐
相关产品推荐

