通过脚本设置IIS环境变量
Set IIS environment variable through script
我想add/delete/edit IIS,asp.net核心网站环境变量,通过appcmd/batch文件或PowerShell脚本,以自动化的方式,不只是一个网站的变量,而是批量操作。虽然我可以使用 IIS UI
虽然我可以使用appcmd添加环境变量
appcmd.exe reset config "variable"
-section:system.webServer/aspNetCore /+"environmentVariables.[name='foo',value='bar']"
我找不到 add/delete/update 多个网站环境值的方法,只需单击一个按钮而不是进入每个网站的配置设置来设置多个值,之后我可以在 Azure DevOps 管道中使用该内联脚本
您可以将多个powershell写入一个文件并执行。这里有一个例子供参考。
创建一个文件并命名为“xxx.ps1”。
编写多个 powershell 语句。
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='foo';value='bar'}
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='doc';value='qwe'}
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='foo';value='bar'}
Write-Output ('Execute succeed')
编辑和删除环境值
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables/environmentVariable[@name='foo' and @value='bar']" -name "name" -value "foo2"
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables/environmentVariable[@name='foo' and @value='bar']" -name "value" -value "bar2"
Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -AtElement @{name='foo1';value='bar1'}
打开powershell执行文件(文件路径+名称)。
PS C:\WINDOWS\system32> & "D:\floder1\xxx.ps1"
我想add/delete/edit IIS,asp.net核心网站环境变量,通过appcmd/batch文件或PowerShell脚本,以自动化的方式,不只是一个网站的变量,而是批量操作。虽然我可以使用 IIS UI
虽然我可以使用appcmd添加环境变量
appcmd.exe reset config "variable" -section:system.webServer/aspNetCore /+"environmentVariables.[name='foo',value='bar']"
我找不到 add/delete/update 多个网站环境值的方法,只需单击一个按钮而不是进入每个网站的配置设置来设置多个值,之后我可以在 Azure DevOps 管道中使用该内联脚本
您可以将多个powershell写入一个文件并执行。这里有一个例子供参考。
创建一个文件并命名为“xxx.ps1”。
编写多个 powershell 语句。
Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='foo';value='bar'} Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='doc';value='qwe'} Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Default Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -value @{name='foo';value='bar'} Write-Output ('Execute succeed')
编辑和删除环境值
Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables/environmentVariable[@name='foo' and @value='bar']" -name "name" -value "foo2" Set-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables/environmentVariable[@name='foo' and @value='bar']" -name "value" -value "bar2" Remove-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST/Core Web Site' -filter "system.webServer/aspNetCore/environmentVariables" -name "." -AtElement @{name='foo1';value='bar1'}
打开powershell执行文件(文件路径+名称)。
PS C:\WINDOWS\system32> & "D:\floder1\xxx.ps1"