Sintomas
As colunas de URL e Nome de anfitrião de destino no registo de proxy da web do Microsoft Forefront ameaça gestão Gateway 2010 podem ser apresentadas como valores ilegíveis. Este problema ocorre quando os utilizadores acedem a Web sites utilizando um nome de domínio internacional (IDN) e as entradas do registo são obtidas do disco. Nota IDNs são nomes de domínio que podem conter caracteres Unicode e são acedidos através da utilização de inscrição de Punycode. Gateway de gestão de ameaça converte o nome de Punycode a representação Unicode quando as entradas do registo são visualizadas na vista de registo no snap-in Gestão de TMG Forefront da Microsoft Management Console (MMC). No entanto, quando as entradas do registo são obtidas do disco, quaisquer caracteres não ASCII da cadeia de Unicode são substituídos por um ponto de interrogação (?), que iremos explicar na secção "Causa".
Causa
Este problema ocorre porque as colunas de registo no Gateway de gestão de ameaça são guardadas em formato ASCII e quando os registros de log são escritos no disco, os valores no URL e Nome de anfitrião de destino colunas são convertidas de Unicode para ASCII. Isto faz com que qualquer valor de não-ASCII no valor de ser substituídos por um ponto de interrogação (?).
Resolução
Para resolver este problema, instale o Rollup 4 para Forefront ameaça Management Gateway 2010 Service Pack 2 e, em seguida, execute o script na secção "Mais informação".
Estado
A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".
Mais Informações
Copie e cole o seguinte script no Notepad.exe e, em seguida, guarde o ficheiro como "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
Para activar o Gateway de gestão de ameaça para manter as entradas de registo como valores de Punycode, execute o seguinte comando:
cscript.exe SetPersistLogAsPunycode.vbs 1Para reverter o Gateway de gestão de ameaça para o respectivo comportamento predefinido de campos de registo como caracteres ASCII, execute o seguinte comando:
cscript.exe SetPersistLogAsPunycode.vbs 0
Referências
Consulte a terminologia Microsoft utiliza para descrever actualizações de software.