亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Powershell:用于在應用程序中查找允許的服務器變量的腳本Host.config 檢查重復項

Powershell:用于在應用程序中查找允許的服務器變量的腳本Host.config 檢查重復項

C#
慕田峪4524236 2022-08-20 16:00:33
我正在嘗試添加新的服務器變量Add-WebConfiguration /system.webServer/rewrite/allowedServerVariables -atIndex 0 -value @{name="HTTP_COOKIE"}但我得到以下錯誤Add-WebConfigurationProperty : Filename: Error: Cannot add duplicate collection entry of type 'add' with unique key attribute 'name' set to 'Test'At line:1 char:1+ Add-WebConfigurationProperty -pspath 'MACHINE/WEBROOT/APPHOST'  -filt ...+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~    + CategoryInfo          : NotSpecified: (:) [Add-WebConfigurationProperty], COMException    + FullyQualifiedErrorId : System.Runtime.InteropServices.COMException,Microsoft.IIs.PowerShell.Provider.AddConfigurationPropertyCommand我可以使用 try catch 塊來抑制,但想檢查變量是否已經存在,如果變量已經存在,則跳過 Add。任何人都可以讓我知道我如何進行此檢查嗎?
查看完整描述

2 回答

?
烙印99

TA貢獻1829條經驗 獲得超13個贊

例如,嘗試添加以下檢查:


$path = "/system.webServer/rewrite/allowedServerVariables"

$value = "HTTP_COOKIE"

if ((Get-WebConfiguration $path).Collection.Name -notcontains $value) {

    Add-WebConfiguration $path -AtIndex 0 -Value @{ name = $value }

}


查看完整回答
反對 回復 2022-08-20
?
www說

TA貢獻1775條經驗 獲得超8個贊

我的答案是使用Get-WebConfigurationProperty。兩者都可以工作。


Write-Host "Getting allowed server variables..."

$allowedServerVariables = Get-WebConfigurationProperty -PSPath "MACHINE/WEBROOT/APPHOST" -filter "system.webServer/rewrite/allowedServerVariables/add" -Name name

Write-Host "Found $($allowedServerVariables.Length)..."


if ( ($allowedServerVariables -eq $null) -or ( $allowedServerVariables | ?{ $_.Value -eq "HTTP_COOKIE1" } ).Length -eq 0 ) {

    #Configure IIS To Allow 'HTTPS' as a server variable - Must be done at a applicationhosts.config level

    Write-Host "Adding HTTPS to allowed server variables..."

    Add-WebConfigurationProperty -pspath "MACHINE/WEBROOT/APPHOST"  -filter "system.webServer/rewrite/allowedServerVariables" -name "." -value @{name='HTTP_COOKIE1'}

}


Write-Host "Getting allowed server variables...Finished"


查看完整回答
反對 回復 2022-08-20
  • 2 回答
  • 0 關注
  • 162 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號