ฉันกำลังดิ้นรนกับเรื่องนี้จริงๆ คำสั่งคล้ายกับสิ่งที่ยืนยัน ที่นี่และในเว็บไซต์อื่นๆ อีกมากมาย
ฉันต้องการเพิ่มฟิลด์การบันทึกที่กำหนดเองใน IIS ผ่านทาง เพิ่ม WebConfigurationProperty
คำสั่ง PowerShell ชื่อฟิลด์ที่กำหนดเองคือ X-ส่งต่อ-สำหรับ
. อย่างไรก็ตาม ฉันได้พยายามเพิ่ม a ทดสอบ
สนาม. ฉันใช้ IIS v10 บน Windows Server 2019
ฉันใช้สิ่งนี้:
เพิ่ม WebConfigurationProperty -ตัวกรอง "system.applicationHost/sites/siteDefaults/logFile/customFields" -ชื่อ "" -value @{logFieldName='test';sourceName='X-Forwarded-For';sourceType='RequestHeader'}
ครั้งแรกที่ฉันเรียกใช้ ฉันได้รับสิ่งนี้:
Add-WebConfigurationProperty : ชื่อไฟล์: \?\C:\Windows\system32\inetsrv\config\applicationHost.config
ข้อผิดพลาด: ไม่สามารถยอมรับการเปลี่ยนแปลงการกำหนดค่าได้เนื่องจากไฟล์มีการเปลี่ยนแปลงบนดิสก์
ครั้งที่สองที่ฉันเรียกใช้ ฉันได้รับสิ่งนี้:
Add-WebConfigurationProperty : ชื่อไฟล์:
ข้อผิดพลาด: ไม่สามารถเพิ่มรายการคอลเลกชันที่ซ้ำกันประเภท 'เพิ่ม' ด้วยแอตทริบิวต์คีย์เฉพาะ 'logFieldName' ที่ตั้งค่าเป็น 'ทดสอบ'
และไม่เคยแก้ไขไฟล์ 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>
และฟิลด์ไม่เคยปรากฏในตัวจัดการ IIS และไม่แสดงด้วย Get-WebConfigurationProperty
.
นอกจากนี้ ฉันได้เพิ่มด้วยตนเอง X-ส่งต่อ-สำหรับ
ผ่าน IIS Manager GUI (ซึ่งแก้ไข applicationHost.config ทันทีอย่างถูกต้องและแสดงผ่าน Get-WebConfigurationProperty
) จากนั้นลองเพิ่มผ่าน Powershell และฉันได้รับข้อผิดพลาดฟิลด์ไม่สามารถเพิ่ม "ซ้ำ" อีกครั้ง จากนั้น เมื่อฉันลบฟิลด์ผ่าน GUI และเรียกใช้คำสั่งอีกครั้ง ฉันได้รับข้อผิดพลาดไม่สามารถยอมรับการเปลี่ยนแปลง ถ้าฉันเรียกใช้คำสั่งอีกครั้ง ฉันได้รับข้อผิดพลาดไม่สามารถเพิ่มซ้ำ อย่างไรก็ตาม applicationHost.config ยังคงไม่ได้รับการแก้ไข เห็นได้ชัดว่าคำสั่งมีผลกับพื้นที่เดียวกับที่ฉันเปลี่ยนแปลงใน GUI และดูเหมือนจะทำบางอย่างเพราะฉันไม่สามารถเพิ่มรายการที่ซ้ำกันได้ แต่การเปลี่ยนแปลงจะไม่ปรากฏใน applicationHost.config หรือใน GUI ฉันได้ลองปิดและเปิดตัวจัดการ IIS ใหม่และเริ่ม IIS ใหม่แล้ว
ฉันพลาดอะไรไป