Я явно не знаю, что делаю.
Я наконец получил команду PowerShell для работы. Но я не могу понять, почему это работает.
Меня волнуют последние символы "":
&"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" `
-verb:sync `
-source:contentPath="$build_directory\deploy" `
-dest:contentPath="$server_temp_directory,computerName=$server,username=$server_username,password=$server_password" `
-verbose `
-postSync=runCommand="powershell -NoLogo -NoProfile -Command $server_temp_directory\remotetasks.ps1 Deploy""
Зачем мне двойные двойные кавычки?
Моя IDE (PowerGUI) говорит, что строка не завершена правильно, но это единственный способ заставить команду работать так, как хотелось.
Что я, и IDE, не знаем о цитировании в PowerShell?
Небольшой вывод от эхо-сигналов:
Если я бегу:
echoargs -postSync=runCommand="powershell -NoLogo -NoProfile -Command $server_temp_directory\remotetasks.ps1 Deploy""
Я получаю:
Arg 0 is <-postSync=runCommand=powershell -NoLogo -NoProfile -Command \remotetasks.ps1 Deploy>
Если я запускаю без двойных кавычек, я получаю:
Arg 0 is <-postSync=runCommand=powershell>
Arg 1 is <-NoLogo>
Arg 2 is <-NoProfile>
Arg 3 is <-Command>
Arg 4 is <\remotetasks.ps1>
Arg 5 is <Deploy>
Следует также отметить, что приведенная выше команда работает, только если она использует = вместо :
в последнем аргументе.
Это не сработает:
-postSync:runCommand="powershell -NoLogo -NoProfile -Command $server_temp_directory\remotetasks.ps1 Deploy""
Я пробовал решение для массива, как это:
$arguments = @("-verb:sync",
"-source:contentPath=$build_directory\deploy",
"-dest:contentPath=$server_temp_directory,computerName=$server,username=$server_username,password=$server_password",
"-verbose",
"-postSyncOnSuccess:runCommand=powershell -Command $server_temp_directory\remotetasks.ps1 Deploy")
&"C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" $arguments
Я все еще получаю ту же ошибку:
Ошибка: нераспознанный аргумент '"-postSyncOnSuccess: runCommand = powershell -Command c: \ temp \ kslog \ remotetasks.ps1 Deploy"'. Все аргументы должны начинаться с "-".
Я что-то здесь не так делаю?