【发布时间】:2019-02-12 12:49:20
【问题描述】:
我正在部署一个在事件网格上触发的逻辑应用程序。部署后,我需要验证 API 连接。我找到了这个脚本https://github.com/logicappsio/LogicAppConnectionAuth,它运行良好。但前提是我从 Powershell 手动运行它。但我想在 New-AzResourceGroupDeployment 命令之后从另一个脚本调用该脚本,从部署逻辑应用程序的脚本调用。
这样做是行不通的。我得到错误:
The variable '$Scope' cannot be retrieved because it has not been set.
At C:\location\LogicAppConnectionAuth.ps1:16 char:113
+ ... Browser -Property @{Width=580;Height=780;Url=($url -f ($Scope -join " ...
+ ~~~~~~
+ CategoryInfo : InvalidOperation: (Scope:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : VariableIsUndefined
$scope 变量是什么?它没有在脚本中定义,单独运行时仍然存在,但当我从另一个脚本运行脚本时不存在。
【问题讨论】:
-
可能是复制粘贴错误,因为one version of OAuth 脚本使用了该特定变量。至于为什么它不能通过另一个脚本工作,也许后者会使用
Set-StrictMode(无论如何这应该是默认设置。) -
我运行它的脚本确实有 Set-StrictMode -Version 3。看起来删除它使它工作。好的,也许 $scope 是一个错误,因为它没有在任何地方设置,也没有在任何地方读取
标签: powershell scoping strict