Điểm:0

Thêm trường ghi nhật ký tùy chỉnh vào IIS bằng Add-WebConfigurationProperty không hoạt động

lá cờ ng

Tôi thực sự vật lộn với điều này. Lệnh tương tự như những gì được xác nhận đây, và trên nhiều trang web khác.

Tôi muốn thêm trường ghi nhật ký tùy chỉnh vào IIS thông qua Add-WebConfigurationProperty Lệnh PowerShell. Tên trường tùy chỉnh là X-Forwarded-For. Tuy nhiên, tôi cũng đã cố gắng thêm một kiểm tra cánh đồng. Tôi đang sử dụng IIS v10 trên Windows Server 2019.

Tôi sử dụng cái này:

Add-WebConfigurationProperty -filter "system.applicationHost/sites/siteDefaults/logFile/customFields" -name "." -value @{logFieldName='test';sourceName='X-Forwarded-For';sourceType='RequestHeader'}

Lần đầu tiên tôi chạy nó, tôi nhận được điều này:

Add-WebConfigurationProperty : Tên tệp: \?\C:\Windows\system32\inetsrv\config\applicationHost.config
Lỗi: Không thể thực hiện thay đổi cấu hình vì tệp đã thay đổi trên đĩa

Lần thứ hai tôi chạy nó, tôi nhận được điều này:

Add-WebConfigurationProperty : Tên tệp: 
Lỗi: Không thể thêm mục nhập bộ sưu tập trùng lặp thuộc loại 'thêm' với thuộc tính khóa duy nhất 'logFieldName' được đặt thành 'kiểm tra'

Và, nó không bao giờ sửa đổi tệp 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>

Trường cũng không bao giờ hiển thị trong IIS Manager. Nó cũng không hiển thị với Get-WebConfigurationProperty.

Ngoài ra, tôi đã thêm thủ công X-Forwarded-For thông qua IIS Manager GUI (ngay lập tức sửa đổi applicationHost.config đúng cách và hiển thị qua Get-WebConfigurationProperty), sau đó thử thêm nó thông qua Powershell và tôi lại gặp lỗi trường không thể thêm "trùng lặp". Sau đó, khi tôi xóa trường thông qua GUI và chạy lại lệnh, tôi gặp lỗi không thể cam kết thay đổi. Nếu tôi chạy lại lệnh, tôi nhận được lỗi không thể thêm trùng lặp. Tuy nhiên, applicationHost.config vẫn không được sửa đổi. Vì vậy, rõ ràng lệnh IS ảnh hưởng đến cùng một khu vực mà tôi đang thay đổi trong GUI và có vẻ như nó đã làm điều gì đó vì tôi không thể thêm các bản sao, nhưng các thay đổi không bao giờ xuất hiện trong applicationHost.config hoặc trong GUI. Tôi đã thử đóng và mở lại Trình quản lý IIS và khởi động lại IIS.

Tôi đang thiếu gì?

Điểm:0
lá cờ ng

Rõ ràng, phiên Powershell của tôi đã bị rối tung.

Sau khi đóng Powershell và mở lại, tôi đã có thể thực thi lệnh thành công và thay đổi ngay lập tức hiển thị trong GUI và applicationHost.config sau khi làm mới.

Vấn đề tái xuất hiện khi:

  1. Tôi cố gắng thêm thuộc tính "trùng lặp"
  2. Tôi tự xóa thuộc tính khỏi IIS GUI
  3. Tôi cố gắng thêm tài sản một lần nữa. Sau đó tôi nhận được lỗi không thể thực hiện được.

Sau này, Powershell phải được đóng và mở lại, sau đó tôi có thể thêm thuộc tính thành công.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.