Powershell appcmd.exe пытается выполнить

Я хочу добавить немного среды в appPools? и я попробовал этот код:

$Appcmd = [System.Environment]::SystemDirectory + "\inetsrv\appcmd.exe"

& $appcmd --% set config -section:system.applicationHost/applicationPools /+""[name='$Task.eProto_Pool'].environmentVariables.[name='PRODUCT_NAME',value='eProto']"" /commit:apphost"

но $Task во второй строке не работает, как я могу вставить переменную в эту строку? Я также пробовал%Task%

1 ответ

.eProto_Pool является собственностью $Task, Если вы хотите разыменовать (то есть получить одно единственное свойство объекта) внутри строки, вам нужно заключить строку в $()оператор подвыражения в PowerShell.

Например, я сделаю новую хеш-таблицу с именем $MyString это имеет два свойства.

$MyString = @{Name = "Stephen";Value="CoolDude"}

>$MyString

Name                           Value
----                           -----
Value                          CoolDude
Name                           Stephen

Посмотрите, что произойдет, если я попытаюсь сослаться на него внутри строки с обычным расширением строки. Это в основном то, что вы делали в своем примере выше. Видите, как это не работает так, как вы ожидаете?

write-host " The user $MyString.Name is a $MyString.Value"
 The user System.Collections.Hashtable.Name is a System.Collections.Hashtable.Value

Время использовать оператор подвыражения для сохранения дня.

write-host " The user $($MyString.Name) is a $($MyString.Value)"
 The user Stephen is a CoolDude

Если есть сомнения, подвыражение это из.

На второй взгляд

Я думаю, что это может быть знак процента % что вызывает у тебя горе Это сокращение для ForEach-Object Команда в PowerShell. Попробуйте это вместо:

Invoke-expression "$appcmd --% set config -section:system.applicationHost/applicationPools /+`"`"[name='$($Task.eProto_Pool)'].environmentVariables.[name='PRODUCT_NAME',value='eProto']`"`" /commit:apphost`""

Это должно экранировать строки, как вам нужно, а также передавать параметры, такие как eProto_Pool собственностью $Task,

Другие вопросы по тегам