通过PowerShell添加新的Traffic Manager配置文件

时间:2016-11-17 10:20:28

标签: powershell azure azure-traffic-manager

我尝试将新的Traffic Manager端点添加到powershell脚本中的现有配置文件中,作为部署管道的一部分。 在Azure门户中,我可以简单地添加第二个端点,并分配新的优先级。由于我使用加权政策,优先权对我来说毫无意义,所以我不在乎它是什么。我不想用随机数设置它,因为这仍然无法完成工作。

文档声称应该为新端点自动分配一个新值,但这只有在我首先删除所有现有端点然后将它们全部重新添加后才有效。由于get-AzureRMTrafficManagerEndPoint cmdlet需要端点名称(不是可选的)和我不知道我无法删除的所有端点名称并重新添加它们。

我接近这个错误吗?这是一个错误吗?我使用的命令错了吗?

错误文本为" Set-AzureRmTrafficManagerProfile:BadRequest:未正确设置端点优先级。必须在所有端点上设置优先级。"

此代码有效:

# Delete/hide series index 0 and 2 from the legend.
chart.set_legend({'delete_series': [0, 2]})

此代码失败:

$TrafficManagerProfile = Get-AzureRmTrafficManagerProfile -Name "TMName" -ResourceGroupName "TMRGName"
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App1RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App1" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
$publicIPObj = Get-AzureRmPublicIpAddress -ResourceGroupName "App2RGName"
Add-AzureRmTrafficManagerEndpointConfig -EndpointName "App2" -EndpointStatus Enabled -TargetResourceId $publicIPObj.id -TrafficManagerProfile $TrafficManagerProfile -Type AzureEndpoints -Weight 10
Set-AzureRmTrafficManagerProfile -TrafficManagerProfile $TrafficManagerProfile

1 个答案:

答案 0 :(得分:0)

您的代码工作方式以及Set-AzureRmTrafficManagerProfile的额外行导致此代码失败。

您正在为一个端点添加配置到Traffic Manager配置文件,然后尝试设置它。您需要修改代码,使其与第一个样本相同,不同之处在于您获取流量管理器配置文件,添加端点,然后调用$Profiles = Get-AzureRmTrafficManagerProfile -Name mctmp -ResourceGroupName TM foreach ($Profile in $Profiles.Endpoints.Name) { Get-AzureRmTrafficManagerEndpoint -Name $Profile -ProfileName $Profiles.RelativeDnsName -ResourceGroupName TM -Type ExternalEndpoints } 一次,而不是在第二个示例中调用两次

编辑:添加一些代码以获取配置文件中的端点。

Get-ADUser -Filter * -Properties SamAccountName,HomeDrive,HomeDirectory,DistinguishedName