Azure Powershell Script Force FTPS Set-AzWebApp:无法将"System.Object[]"转换为参数所需的类型"System.String"



我目前正在尝试在Azure中运行一个脚本,该脚本将通过我们所有的Web应用程序并打开FTPS。

这是我现在拥有的

$Subscriptions = Get-AzSubscription
foreach ($sub in $Subscriptions) {
Get-AzSubscription -SubscriptionName $sub.Name | Set-AzContext
$GetName = (Get-AzWebApp).Name
$GetRG = (Get-AzWebApp).ResourceGroup
Set-AzWebapp -Name $GetName -ResourceGroupName $GetRG -FtpsState FtpsOnly
}

Set-AzWebApp: Cannot convert 'System. '对象[]'转换为'System '类型。参数'Name'要求的字符串'。指定的

我目前得到这个错误,我不理解为。name和。resourcegroup,从我的理解已经是字符串。我是非常新的powershell,所以任何帮助将非常感激。谢谢大家!

您的示例调用没有参数的Az-WebApp,它获取订阅中的所有应用程序-这是一个集合-然后尝试获取该结果的名称,这就是导致错误的原因。

您需要遍历订阅中的每个应用程序以及遍历每个订阅,如:

# Get all subscriptions and iterate them
Get-AzSubscription | ForEach-Object {
Set-AzContext -SubscriptionName $_.Name

# Get all web apps in the subscription and iterate them
Get-AzWebApp | ForEach-Object {
Set-AzWebApp -Name $_.Name -ResourceGroupName $_.ResourceGroup -FtpsState FtpsOnly
}
}

相关内容

  • 没有找到相关文章

最新更新