Simptome
URL-ul şi Numele de gazdă destinație coloanele în Jurnalul de proxy web al Microsoft Forefront Threat Management Gateway 2010 poate fi afișată ca valori ilizibil. Această problemă apare când utilizatorii accesa site-uri web utilizând un nume de domeniu internaţionalizat (IDN) și intrările de jurnal sunt regăsite de disc. Notă IDN sunt numele de domenii, care poate conține caractere Unicode și sunt accesate prin utilizarea Punycode transcrierea. Threat Management Gateway efectuează conversia numelui Punycode în reprezentarea Unicode când intrările de jurnal sunt vizualizate în vizualizarea în jurnal în Forefront TMG snap-in Management din Microsoft Management Console (MMC). Cu toate acestea, atunci când intrările de jurnal sunt regăsite de disc, orice caractere non-ASCII în șirul Unicode sunt înlocuite cu un semn de întrebare (?), așa cum vă explicăm în secțiunea "Cauze".
Cauză
Această problemă apare deoarece coloanele în jurnal în Threat Management Gateway sunt salvate în ASCII format, și atunci când înregistrările de jurnal sunt scrise pe disc, valorile în URL-ul şi Numele de gazdă destinație coloane sunt convertite din Unicode în ASCII. Acest lucru provoacă orice valoare non-ASCII în valoarea să fie înlocuit cu un semn de întrebare (?).
Rezolvare
Pentru a rezolva această problemă, instalați setul 4 pentru Forefront Threat Management Gateway 2010 Service Pack 2 și apoi executa scriptul din secțiunea "Mai multe informații".
Stare
Microsoft a confirmat că aceasta este o problemă în produsele Microsoft enumerate în secțiunea „Se aplică la”.
Mai multe informații
Copiați și lipiți următorul script în Notepad.exe, și apoi salvați fișierul ca "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
Pentru a activa Threat Management Gateway persista intrările de jurnal ca Punycode valori, executaţi următoarea comandă:
cscript.exe SetPersistLogAsPunycode.vbs 1Pentru a reveni Threat Management Gateway la sale comportamentul implicit al câmpurile de înregistrare în jurnal ca caractere ASCII, executaţi următoarea comandă:
cscript.exe SetPersistLogAsPunycode.vbs 0
Referințe
Consultați terminologia Microsoft utilizează pentru a descrie actualizările de software.