Powershell使用哈希表和foreach循环通过appcmd设置appsettings
我试图通过添加几个应用程序设置来修改网站的web.config。为了使这段代码更具可重用性等等,我想使用哈希表来存储键值对,然后对它们进行循环。我在尝试将键和值注入到appcmd调用时出错。这是我的密码:Powershell使用哈希表和foreach循环通过appcmd设置appsettings,powershell,Powershell,我试图通过添加几个应用程序设置来修改网站的web.config。为了使这段代码更具可重用性等等,我想使用哈希表来存储键值对,然后对它们进行循环。我在尝试将键和值注入到appcmd调用时出错。这是我的密码: $env:myWebsite = "myWebsite" $appcmd = "C:\windows\system32\inetsrv\appcmd.exe" $settings = @{ "test1"="C:\
$env:myWebsite = "myWebsite"
$appcmd = "C:\windows\system32\inetsrv\appcmd.exe"
$settings = @{
"test1"="C:\Temp\test";
"test2"="true";
"test3"="C:\Temp\"
}
foreach($s in $settings.GetEnumerator()){
& $appcmd --% set config "%myWebsite%" /section:appSettings /+"[key='$($s.Name)',value='$($s.Value)']"
}
当我尝试执行此操作时,它不会注入s.Name和s.Value也许可以查看
WebAdministration
模块:Hey@MathiasR.Jessen,谢谢您的回复。问题不在于appcmd,如果我不尝试使用替换,这个方法效果很好。我敢肯定问题在于我糟糕的powershell技能。这很公平。如果要展开$(…)
子表达式,则需要删除-->%
修饰符tanks@MathiasR.Jessen,这解决了我的问题。@MathiasR.Jessen我可以问你为什么不回答这个问题吗?OP和其他人知道为什么删除--%会有帮助似乎是有益的。我只是好奇你和我在另一篇文章中的观点?