Проблемы
URL-адрес и Имя узла-получателя столбцов в журнале веб-прокси Microsoft Forefront угроз Management Gateway 2010 может отображаться как не прочитать значения. Эта проблема возникает, если доступ к веб-сайтам с помощью доменного имени (IDN) и записи журнала извлекаются с диска. Примечание. IDN, имена доменов, которые могут содержать символы Юникода и осуществляется с помощью транскрипции Punycode. Threat Management Gateway преобразует имя Punycode в представление Юникод при просмотре записей журнала в режиме ведения журнала в Forefront TMG управления оснастки консоли управления Microsoft (MMC). Тем не менее при записи журнала извлекаются с диска, все знаки, не входящие в строку в кодировке Юникод заменяются вопросительным знаком (?), как рассказывается в разделе «Причина».
Причина
Эта проблема возникает, поскольку столбцы Threat Management Gateway ведения журнала сохраняются в формате ASCII, а также при записи журнала записываются на диск, значений в URL-адрес и Имя узла-получателя столбцы преобразуются из Юникода в ASCII. В этом случае любое значение, не ASCII значения будут заменены знаком вопроса (?).
Решение
Для решения этой проблемы установки накопительного пакета обновлений 4 для Forefront угроз управления шлюзом 2010 Пакет обновления 2 и запустите сценарий в разделе «Дополнительные сведения».
Статус
Корпорация Майкрософт подтверждает наличие этой проблемы в своих продуктах, которые перечислены в разделе "Применяется к".
Дополнительная информация
Скопируйте и вставьте следующий сценарий в Notepad.exe и сохраните файл как «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
Чтобы включить Threat Management Gateway для сохранения записей журнала как значения Punycode, выполните следующую команду:
Cscript.exe SetPersistLogAsPunycode.vbs 1Чтобы восстановить Threat Management Gateway для его поведение по умолчанию ведения журнала полей в виде ASCII-символов, выполните следующую команду:
Cscript.exe SetPersistLogAsPunycode.vbs 0
Ссылки
Корпорация Майкрософт использует термины для описания обновлений программного обеспечения см.