Chiar mă lupt cu asta. Comanda este similară cu ceea ce este confirmat Aici, și pe numeroase alte site-uri.
Vreau să adaug un câmp de înregistrare personalizat la IIS prin intermediul Add-WebConfigurationProperty
Comanda Powershell. Numele câmpului personalizat este X-Redirecţionat-Pentru
. Cu toate acestea, am recurs și la încercarea de a adăuga un Test
camp. Folosesc IIS v10 pe Windows Server 2019.
Eu folosesc asta:
Add-WebConfigurationProperty -filtru „system.applicationHost/sites/siteDefaults/logFile/customFields” -name „.” -valoare @{logFieldName='test';sourceName='X-Forwarded-For';sourceType='RequestHeader'}
Prima dată când îl rulez, primesc asta:
Add-WebConfigurationProperty : Nume fișier: \?\C:\Windows\system32\inetsrv\config\applicationHost.config
Eroare: nu se pot efectua modificări de configurare deoarece fișierul s-a modificat pe disc
A doua oară când îl rulez, primesc asta:
Add-WebConfigurationProperty: Nume fișier:
Eroare: nu se poate adăuga o intrare de colecție duplicată de tip „add” cu atributul cheie unic „logFieldName” setat la „test”
Și, în niciun moment nu modifică deloc fișierul applicationHost.config:
<siteDefaults>
<logFile logExtFileFlags="Date, Time, ClientIP, UserName, ServerIP, Method, UriStem, UriQuery, HttpStatus, Win32Status, BytesSent, BytesRecv, TimeTaken, ServerPort, UserAgent, Referer, HttpSubStatus" logFormat="W3C" directory="D:\inetpub\logs\logfiles">
<customFields>
<clear />
</customFields>
</logFile>
<traceFailedRequestsLogging directory="D:\inetpub\logs" />
<ftpServer>
<logFile directory="D:\inetpub\logs\logfiles" />
</ftpServer>
</siteDefaults>
Nici câmpul nu apare niciodată în IIS Manager. Nici nu apare cu Get-WebConfigurationProperty
.
În plus, am adăugat manual X-Redirecţionat-Pentru
prin IIS Manager GUI (care a modificat imediat applicationHost.config în mod corespunzător și apare prin Get-WebConfigurationProperty
), și apoi am încercat să-l adaug prin Powershell și primesc din nou eroarea câmpului „nu se poate adăuga „duplicare”. Apoi, când șterg câmpul prin interfața grafică și rulez comanda din nou, primesc eroarea de nu pot comita modificări. Dacă rulez comanda din nou, primesc eroarea de nu se poate adăuga duplicat. Cu toate acestea, applicationHost.config încă nu este modificat. Deci, în mod clar, comanda afectează aceeași zonă pe care o schimb în GUI și pare să facă ceva pentru că nu pot adăuga duplicate, dar modificările nu apar niciodată în applicationHost.config sau în GUI. Am încercat să închid și să redeschid IIS Manager și să repornesc IIS.
Ce îmi lipsește?