2013-08-09 13 views
7

Sto scrivendo uno script PowerShell che distribuisce un sito web per IIS 7. Mi piacerebbe fare il seguente comando per rimuovere un header personalizzato utilizzando il modulo Web-Amministrazione in PowerShell, piuttosto che con appcmd. Come posso eseguire questo comando in PowerShell senza usare appcmd?Come faccio a rimuovere intestazione personalizzata IIS utilizzando Powershell?

appcmd set config /section:httpProtocol /-customHeaders.[name='X-Powered-By'] 

risposta

18

Per rimuovere l'intestazione su IIS livello:

Remove-WebConfigurationProperty -PSPath MACHINE/WEBROOT/APPHOST 
           -Filter system.webServer/httpProtocol/customHeaders 
           -Name . 
           -AtElement @{name='X-Powered-By'} 

E per un sito specifico:

Remove-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST/Default Web Site' 
           -Filter system.webServer/httpProtocol/customHeaders 
           -Name . 
           -AtElement @{name='X-Powered-By'} 
+0

si può commentare su come aggiungere un customHeader utilizzando l'Add-WebconfigurationProperty? Ci sono passato un bel po 'e alla fine sono incappato nella tua risposta qui. –

+2

@MikeDevenney il seguente comando aggiungerà la coppia di valori chiave X-NODE, 1 alle intestazioni di risposta sulla casella Aggiungi-WebConfigurationProperty -PSPath 'MACHINE/WEBROOT/APPHOST' -Filter 'system.WebServer/httpProtocol/customHeaders' - Nome . -Valore @ {nome = 'X-NODE'; value = '1'} – Tedford

+0

@Tedford Grazie! Così sarebbe l'approccio corretto per l'aggiunta di un colpo di testa a ogni sito di IIS essere quello di iterare la raccolta siti ed eseguire il componente aggiuntivo WebConfigurationProperty per ciascuno di essi? –

Problemi correlati