Je tente d'activer/désactiver les noeuds finaux Traffic Manager via Powershell pour faciliter la configuration de l'environnement. Sur l'un de nos groupes de ressources, les cmdlets ont bien fonctionné, mais nous observons un comportement étrange chez les autres.Applets de commande TrafficManagerEndpoint: obtention d'une demande erronée (400) et NullReferenceExceptions
Dans un cas, le passage dans un TrafficManagerEndpoint
directement à un applet de commande (via pipeline ou d'un paramètre) renvoie un 400 et vomit la pleine HTML:
> $tm = Get-AzureRmTrafficManagerProfile -Name <tm-name> -ResourceGroupname <rg-name>
> $tm.Endpoints[0] | Disable-AzureRmTrafficManagerEndpoint
Confirm
Are you sure you want to disable endpoint '<tm-endpoint-name>' of Profile '<tm-name>'?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
Disable-AzureRmTrafficManagerEndpoint : <?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Request Error</title>
<style>BODY { color: #000000; background-color: white; font-family: Verdana; margin-left: 0px; margin-top: 0px; } #content { margin-left: 30px; font-size: .70em; padding-bottom: 2em; } A:link { color: #336699;
font-weight: bold; text-decoration: underline; } A:visited { color: #6699cc; font-weight: bold; text-decoration: underline; } A:active { color: #336699; font-weight: bold; text-decoration: underline; } .heading1 {
background-color: #003366; border-bottom: #336699 6px solid; color: #ffffff; font-family: Tahoma; font-size: 26px; font-weight: normal;margin: 0em 0em 10px -20px; padding-bottom: 8px; padding-left:
30px;padding-top: 16px;} pre { font-size:small; background-color: #e5e5cc; padding: 5px; font-family: Courier New; margin-top: 0px; border: 1px #f0f0e0 solid; white-space: pre-wrap; white-space: -pre-wrap;
word-wrap: break-word; } table { border-collapse: collapse; border-spacing: 0px; font-family: Verdana;} table th { border-right: 2px white solid; border-bottom: 2px white solid; font-weight: bold;
background-color: #cecf9c;} table td { border-right: 2px white solid; border-bottom: 2px white solid; background-color: #e5e5cc;}</style>
</head>
<body>
<div id="content">
<p class="heading1">Request Error</p>
<p>The server encountered an error processing the request. See server logs for more details.</p>
</div>
</body>
</html>
At line:1 char:20
+ $tm.Endpoints[0] | Disable-AzureRmTrafficManagerEndpoint
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Disable-AzureRmTrafficManagerEndpoint], CloudException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.TrafficManager.DisableAzureTrafficManagerEndpoint
La même chose se produit lors de l'utilisation Enable-AzureRmTrafficManagerEndpoint
et Set-AzureRmTrafficManagerEndpoint
.
Lorsque vous appelez l'applet de commande en utilisant des noms de ressources, Diable-AzureRmTrafficManagerEndpoint
fonctionne très bien, mais lors de l'appel Enable-AzureRmTrafficManagerEndpoint
cette façon je reçois un NullReferenceException
:
> Disable-AzureRmTrafficManagerEndpoint -Name <tm-endpoint-name> -ProfileName <tm-name> -ResourceGroupName <rg-name> -Type AzureEndpoints
Confirm
Are you sure you want to disable endpoint '<tm-endpoint-name>' of Profile '<tm-name>'?
[Y] Yes [N] No [S] Suspend [?] Help (default is "Y"): y
False
> Enable-AzureRmTrafficManagerEndpoint -Name <tm-endpoint-name> -ProfileName <tm-name> -ResourceGroup <rg-name> -Type AzureEndpoints
Enable-AzureRmTrafficManagerEndpoint : Object reference not set to an instance of an object.
At line:1 char:1
+ Enable-AzureRmTrafficManagerEndpoint -Name $tmEndpoint.Name -ProfileN ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : CloseError: (:) [Enable-AzureRmTrafficManagerEndpoint], NullReferenceException
+ FullyQualifiedErrorId : Microsoft.Azure.Commands.TrafficManager.EnableAzureTrafficManagerEndpoint
Je suis certain que les noms sont corrects. Un aperçu de cela? Il semble que mon module AzureRM.TrafficManager n'est pas synchronisé avec Azure, mais j'ai essayé d'installer tout ce qui est disponible dans le programme d'installation de la plateforme Web et je n'ai obtenu aucun résultat. (La version du module est 3.0.0). Merci!
EDIT: Un peu plus d'informations que j'ai oublié:
Azure .NET SDK version: 2.9
Version Powershell:
Name Value
---- -----
PSVersion 5.1.14393.953
PSEdition Desktop
PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...}
BuildVersion 10.0.14393.953
CLRVersion 4.0.30319.42000
WSManStackVersion 3.0
PSRemotingProtocolVersion 2.3
SerializationVersion 1.1.0.1
Merci pour votre réponse! Je ne sais pas pourquoi je n'ai pas été informé que vous avez répondu. J'ai essayé la commande Set- * plus tôt et obtenait également l'erreur 400, mais pour une raison quelconque cela fonctionne maintenant! – mrshanahan