Khắc phục: các giá trị "URL" và "Tên máy chủ đích" là không thể đọc được trong Nhật ký proxy web của Forefront Threat Management Gateway 2010 được đọc

Triệu chứng

Cột URL và Tên máy chủ đích trong proxy web cá nhân của Microsoft Forefront Threat Management Gateway 2010 có thể hiển thị dưới dạng giá trị không thể đọc được. Sự cố này xảy ra khi người dùng truy cập trang web bằng cách sử dụng một tên miền quốc tế hóa (IDN), mục nhập Nhật ký được lấy từ đĩa. Lưu ý IDNs là tên miền mà có thể chứa các ký tự Unicode được truy cập bằng cách sử dụng Punycode phiên. Threat Management Gateway chuyển đổi tên Punycode vào bản trình bày Unicode khi mục Nhật ký được xem trong màn hình đăng nhập trong phần Forefront TMG quản lý phần đính vào của Microsoft Management Console (MMC). Tuy nhiên, khi các mục nhập Nhật ký được lấy từ đĩa, bất kỳ ký tự không phải ASCII trong chuỗi Unicode được thay thế bằng một dấu hỏi (?), như chúng tôi giải thích trong phần "Nguyên nhân".

Nguyên nhân

Sự cố này xảy ra vì các cột ghi trong Threat Management Gateway được lưu ở định dạng ASCII, khi ghi nhật ký được ghi vào đĩa, giá trị trong URL , Tên máy chủ đích cột được chuyển đổi từ Unicode thành ASCII. Điều này khiến bất kỳ giá trị không phải ASCII trong giá trị được thay thế bằng một dấu hỏi (?).

Giải pháp

Để giải quyết vấn đề này, cài đặt Cập Nhật 4 cho Forefront Threat Management Gateway 2010 gói dịch vụ 2 và sau đó chạy tập lệnh trong phần "Thông tin".

Trạng thái

Microsoft đã xác nhận đây là sự cố trong các sản phẩm của Microsoft được liệt kê trong phần "Áp dụng cho".

Thông tin Bổ sung

Sao chép và dán đoạn mã sau trong Notepad.exe, và sau đó lưu tệp dưới dạng "SetPersistLogAsPunycode.vbs."

'Define the constants needed.Const strVpsGUID = "{143F5698-103B-12D4-FF34-1F34767DEABC}"Const strVpsPropertyName = "PersistLogAsPunycode"Const Error_FileNotFound = &H80070002Set objArgs = wscript.ArgumentsfInvalidParameterValue = Falseif objArgs.Count > 0 then    if objArgs(0) = "0" then        fPersistLogAsPunycode = False    elseif objArgs(0) = "1" then        fPersistLogAsPunycode = True    else        fInvalidParameterValue = True    end ifend ifif objArgs.Count <> 1 or fInvalidParameterValue then    wscript.echo "Usage: SetPersistLogAsPunycode.vbs <0|1>"    wscript.echo    wscript.echo "Control how log fields that may contain punycode-encoded parts are"    wscript.echo "stored in the persistent log."    wscript.echo    wscript.echo "    0 - Persist the applicable log fields as ASCII (the default behavior)"    wscript.echo "    1 - Persist the applicable log fields as Punycode"    wscript.Quit 2end ifset objLogging = CreateObject("FPC.Root").GetContainingArray().LoggingSet objVPSet = OpenVPSet(objLogging, strVpsGUID)objVPSet.Value(strVpsPropertyName) = fPersistLogAsPunycodeobjLogging.Savefunction OpenVPSet(objParent, strVpsGUID)    Set objVPSets = objParent.VendorParametersSets    On Error Resume Next    Set OpenVPSet = objVPSets.Item(strVpsGUID)    ' Save the Err properties in case it needs to be re-raised    errNumber      = Err.Number    errSource      = Err.Source    errDescription = Err.Description    errHelpFile    = Err.HelpFile    errHelpContext = Err.HelpContext        On Error GoTo 0        if errNumber = Error_FileNotFound Then        Set OpenVPSet = objVPSets.Add(strVpsGUID)    Elseif errNumber < 0 Then        ' An error other than "file not found" occured -- re-raise the error,        ' this time not under "On Error Resume Next"        Err.Raise errNumber, errSource, errDescription, errHelpFile, errHelpContext    End Ifend function

Để kích hoạt Threat Management Gateway mục Nhật ký với Punycode giá trị tồn tại, chạy lệnh sau:

cscript.exe SetPersistLogAsPunycode.vbs 1Trở lại Threat Management Gateway của hành vi mặc định của trường ghi nhật ký là ký tự ASCII, chạy lệnh sau:

cscript.exe SetPersistLogAsPunycode.vbs 0

Tham khảo

Xem ngữ Microsoft sử dụng để miêu tả các bản cập nhật phần mềm.

Bạn cần thêm trợ giúp?

Phát triển các kỹ năng của bạn
Khám phá nội dung đào tạo
Sở hữu tính năng mới đầu tiên
Tham gia Microsoft dùng nội bộ

Thông tin này có hữu ích không?

Cảm ơn phản hồi của bạn!

×