Установить переменную среды IIS через скрипт

Я хочу добавлять / удалять / редактировать IIS, переменные среды основного веб-сайта asp.net автоматически с помощью файла appcmd / batch или сценария PowerShell, причем не только для одной переменной веб-сайта, но и для массовых операций. хотя я могу сделать это с помощью интерфейса IIS

введите описание изображения здесь

Хотя я могу добавить переменную среды с помощью appcmd

appcmd.exe сбросить переменную конфигурации -section: system.webServer / aspNetCore /+environmentVariables.[name='foo',value='bar ']

Мне не удалось найти способ добавить / удалить / обновить значения среды нескольких веб-сайтов, просто нажав одну кнопку вместо того, чтобы устанавливать несколько значений в настройках конфигурации каждого веб-сайта. После этого я могу использовать этот встроенный скрипт в конвейере Azure DevOps.


person Saad Awan    schedule 20.11.2020    source источник


Ответы (1)


Вы можете записать несколько команд PowerShell в файл и выполнить его. Вот пример для справки.

  1. Создайте файл с именем xxx.ps1.

  2. Напишите несколько операторов 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'}
    
  3. Откройте powershell, чтобы запустить файл (путь к файлу + имя).

    PS C:\WINDOWS\system32> & "D:\floder1\xxx.ps1"
    
person Bruce Zhang    schedule 23.11.2020
comment
это здорово, т как я могу удалить / отредактировать уже добавленные значения среды? - person Saad Awan; 23.11.2020
comment
Отлично, теперь только последнее, как редактировать значения? - person Saad Awan; 23.11.2020
comment
Я добавил операторы редактирования и удаления одновременно. Вы скучаете по нему? - person Bruce Zhang; 23.11.2020
comment
Отлично, Отлично, теперь он работает со всеми творожными операциями СПАСИБО - person Saad Awan; 23.11.2020