Похоже, у вас может быть проблема с цитатами в сочетании с посторонними персонажами.Символы {}
в вызове String.Format ничего не делают для вас.Двойная кавычка здесь "appcmd.exe
начинает строку, заканчивающуюся на /+"
, которая делает все после ошибки.Вы можете экранировать двойные кавычки в строке с символом обратного символа `.
[string]::Format("appcmd.exe set config -section:system.applicationHost/sites /+`"[name='Default Web Site'].[path='/'].[path='/MyWebsite/dev',physicalPath='{0}']`" /commit:apphost",$folderName)
В Powershell также есть оператор -f, который выполняет форматирование строки без необходимости вызывать string.format, но вам все равно нужно экранировать кавычки..
$appCmdCommand2 = "appcmd.exe set config -section:system.applicationHost/sites /+`"[name='Default Web Site'].[path='/'].[path='/MyWebsite/dev',physicalPath='{0}']`" /commit:apphost" -f $folderName
Invoke-Command -ComputerName ComputerAA -ScriptBlock {$appCmdCommand2}