由于缺少参数,以下命令行会导致我的脚本抛出.仅当-WebServerList
参数包含用于表示数组的括号时才会出现此问题.
这是由TeamCity发起的,我假设它正在制作一个简单的Windows shell命令,因此它可能()
由shell/Windows解释.
C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -NonInteractive -ExecutionPolicy ByPass -File E:\PowerShell\DeploySolution.ps1` -ProjectName Integro -BuildVersion "8.0.5 (build 27692) " -DeploymentType IIS` -WebServerList @("ws1", "ws2") -WebServerUserName TeamCityMSDeploy` -WebServerPassword yeahR1ght -WebPackagePath E:\WebDeployPackages\IntegroWebAPI_QA_MSDeploy_Package.zip` -WebServerDestination Integro-QA` -MSDeployPath "C:\Program Files\IIS\Microsoft Web Deploy V3"
但是,我尝试过DOS逃避^( ... ^)
,但这没有用.从Windows调用PowerShell脚本一直都很辛苦,毕竟谁想做一个疯狂的事情呢?!
与此同时,我将更改我的脚本以在单个字符串中访问CSV并手动拆分,这样我就可以回家了,但是知道是否有正确的方法可以解决这个问题.