如何使用 AgentName 和 AgentPool 的空格将参数传递给 commandToExecute
How to pass a parameter to commandToExecute with spaces for AgentName and AgentPool
代理名称:“测试代理”
代理池:“测试池”
当我通过这些唯一的测试时,测试正在进行中。如何使这些在执行命令时使用空格。
-vstsagent 为脚本文件变量名(Agentscript.ps1)
parameters('AgentName') 是 json 模板参数。
请建议总命令。
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -Command .\Agentscript.ps1 -vstsAccount ', parameters('VSTSAccount'),' -vstsAgent ', parameters('AgentName'), '-vstsPoolName ', parameters('AgentPool'))]"
如果您想将参数动态传递给 PowerShell 脚本,请尝试以下命令。
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -File Agentscript.ps1', ' -vstsAccount ', parameters('VSTSAccount'), ' -vstsAgent ', parameters('AgentName'), ' -vstsPoolName ', parameters('AgentPool'))]"
有关详细信息,请参阅此 blog and ARM template best practices。
我找到了这个帖子:,也许你可以试试下面的命令:
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File \"Agentscript.ps1', ' -vstsAccount ', parameters('VSTSAccount'), ' -vstsAgent ', '\" \"', parameters('AgentName'), ' -vstsPoolName ', '\" \"', parameters('AgentPool'))]\""
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -Command .\agentInterService.ps1 -vstsAccount ', '''' , parameters('VSTSAccount'), '''', ' -PAT ', '''', parameters('PATToken'), '''', ' -vstsAgent ', '''', parameters('AgentName'), '''', ' -Interactive ', '''', parameters('Interactive'), '''',' -AgentNo ', parameters('AgentNo'), ' -vmAdminPassword ', '''', parameters('vmAdminPassword'), '''', ' -vmAdminUserName ', '''', parameters('vmAdminUsername'), '''', ' -vstsPoolName ','''', parameters('AgentPool'), '''')]"
如果参数中有任何空格,此方法有效。
代理名称:“测试代理”
代理池:“测试池”
当我通过这些唯一的测试时,测试正在进行中。如何使这些在执行命令时使用空格。
-vstsagent 为脚本文件变量名(Agentscript.ps1)
parameters('AgentName') 是 json 模板参数。
请建议总命令。
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -Command .\Agentscript.ps1 -vstsAccount ', parameters('VSTSAccount'),' -vstsAgent ', parameters('AgentName'), '-vstsPoolName ', parameters('AgentPool'))]"
如果您想将参数动态传递给 PowerShell 脚本,请尝试以下命令。
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -File Agentscript.ps1', ' -vstsAccount ', parameters('VSTSAccount'), ' -vstsAgent ', parameters('AgentName'), ' -vstsPoolName ', parameters('AgentPool'))]"
有关详细信息,请参阅此 blog and ARM template best practices。
我找到了这个帖子:
"commandToExecute": "[concat('powershell -ExecutionPolicy Unrestricted -File \"Agentscript.ps1', ' -vstsAccount ', parameters('VSTSAccount'), ' -vstsAgent ', '\" \"', parameters('AgentName'), ' -vstsPoolName ', '\" \"', parameters('AgentPool'))]\""
"commandToExecute": "[concat('powershell.exe -ExecutionPolicy Unrestricted -Command .\agentInterService.ps1 -vstsAccount ', '''' , parameters('VSTSAccount'), '''', ' -PAT ', '''', parameters('PATToken'), '''', ' -vstsAgent ', '''', parameters('AgentName'), '''', ' -Interactive ', '''', parameters('Interactive'), '''',' -AgentNo ', parameters('AgentNo'), ' -vmAdminPassword ', '''', parameters('vmAdminPassword'), '''', ' -vmAdminUserName ', '''', parameters('vmAdminUsername'), '''', ' -vstsPoolName ','''', parameters('AgentPool'), '''')]"
如果参数中有任何空格,此方法有效。