Симптоми
URL адрес и Име на хост за местоназначение колоните в регистрационния файл на уеб прокси сървър на Microsoft Forefront Threat Management портал 2010 може да се покаже като прочетени стойности. Този проблем възниква, когато потребителите имат достъп до уеб сайтове с помощта на име на език (IDN) и записи в регистъра се извличат от диск. Забележка: IDNs са домейни, които могат да съдържат Unicode знаци и са достъпни чрез Punycode препис. Threat Management Gateway преобразува името на Punycode в Unicode представяне при записи в регистъра се разглеждат в изгледа на регистриране в управление на Forefront TMG конзолна добавка на конзолата за управление на Microsoft (MMC). Обаче когато записите се извличат от диск, не ASCII знаци в Unicode низ се заменят с въпросителен знак (?), както е обяснено в раздела "Причина".
Причина
Този проблем възниква, защото регистрирането на колоните в Threat Management Gateway се записват в ASCII формат и когато регистрационни записи се записват на диска, стойностите на URL адрес и Име на хост за местоназначение колони се конвертират от Unicode в ASCII. Това води до не ASCII стойност в стойност да бъде заменен с въпросителен знак (?).
Решение
За да разрешите този проблем, инсталирайте Сборен пакет за актуализация 4 за Forefront Threat Management портал 2010 Service Pack 2 и изпълнете скрипта в раздела "Допълнителна информация".
Статус
Microsoft потвърждава, че това е проблем в продуктите на Microsoft, изброени в раздела "Отнася се за".
Повече информация
Копирайте и поставете следния скрипт в 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
Препратки
Вижте Microsoft използва терминология за описание на софтуерните актуализации.
 
                         
				 
				