首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >登录-AzureRmAccount无人值守

登录-AzureRmAccount无人值守
EN

Stack Overflow用户
提问于 2016-11-23 06:25:09
回答 2查看 882关注 0票数 0

我有一个Powershell脚本来设置app配置设置,如下所示:

代码语言:javascript
复制
Set-AzureRMWebApp -Name $SiteName -ResourceGroupName $ResourceGroupName -AppSettings $settings

这个脚本将被Azure中的VSTS发行版管理所使用,但也会被他们的VS2015 IDE中的开发人员使用。

PS脚本有一个命令'Login-AzureRmAccount‘,它将在他们的本地开发机器上显示一个弹出,没关系。

但是使用PS任务的release也使用了这个脚本,但是在启动发布时我会遇到一个错误:‘在应用程序没有在UserInteractive模式下运行时显示一个模态对话框或表单,而不是一个有效的操作’

如何仅防止VSTS中的对话框?

(请注意,Set-AzureRMWebApp似乎运行良好,但只有防止对话框导致任务错误)。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-12-01 06:35:30

这是一个有效的解决方法:

代码语言:javascript
复制
if ([Environment]::UserInteractive -and
        !([Environment]::GetCommandLineArgs() |? {$_ -ilike '-NonI*'}))
{
    Login-AzureRmAccount
}
票数 0
EN

Stack Overflow用户

发布于 2016-11-23 15:13:12

您需要参数化脚本的登录部分,因此只有在没有由开发人员运行的情况下才会运行。当开发人员运行它时,用开关来调用它。

然后你可以做一些类似的事情

代码语言:javascript
复制
$secret = yourServicePrincipalKey
$azureApplicationId = yourServicePrincipalID
if (!switch)
{
$password = ConvertTo-SecureString -String $secret -AsPlainText -Force
$creds = New-Object System.Management.Automation.PSCredential ($azureApplicationId, $password)
$access = Login-AzureRmAccount -Credential $creds -ServicePrincipal -TenantId $tenantId
}

您可以看到Login启用了-servicePrincipal开关

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40757454

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档