Excuses d'avance si cela est stupide et évident. Je les lignes suivantes dans un script Powershell exécution en tant que tâche de libération dans VSTS:Version VSTS, CMD webdeploy avec variables à l'intérieur de la syntaxe de devis Powershell
Write-Output "Stopping IIS..."
CMD.exe /C "'C:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe' -verb:sync -source:recycleApp -dest:recycleApp='MyApp/MyAppPool',recycleMode='StopAppPool',computername=$privateIp,userName=$serverLogin,password=$serverPassword"
Il produit la sortie suivante:
2017-10-07T15:07:33.3282985Z Stopping IIS...
2017-10-07T15:07:34.5470804Z ##[error]The filename, directory name, or volume label syntax is incorrect
par MS (https://technet.microsoft.com/en-us/library/cc956689.aspx) cela signifie que l'un des caractères suivants est faux: \ \/[]: | <> +; =. ? "
Je ne peux que supposer que c'est ma syntaxe de citation parce que c'est le seul caractère utilisé sur cette ligne.Je sais que ce n'est pas le contenu de l'une des variables, car ils sont utilisés ailleurs dans le script sans problème .? t contiennent aucun des caractères en question)
Aide
Eh bien, pouvez-vous simplement imprimer votre chaîne et examiner ce qui est construit? – 4c74356b41
@ 4c74356b41 Euh ... comment ferais-je ça? –
Créez une variable pour contenir votre chaîne de ligne de commande, puis écrivez-la à l'hôte. –