Simptomi
Web starpniekservera žurnāls Microsoft Forefront Threat Management Gateway 2010 URL un Mērķa resursdatora kolonnas var būt parādīta kā lasāms vērtības. Šī problēma rodas, ja lietotājiem piekļūt vietnēm, izmantojot internationalized domēna nosaukumu (IDN) un žurnāla ieraksti tiek iegūts no diska. Piezīme. Domēnu nosaukumus, kas var būt unikoda rakstzīmes un piekļūst, izmantojot Punycode transkripcija ir IDNs. Threat Management Gateway konvertē unikoda attēlojuma Punycode nosaukumu, skatot žurnāla ierakstus reģistrēšanas skatā Forefront TMG pārvaldības papildprogrammā Microsoft pārvaldības konsoles (MMC). Tomēr izgūstot žurnāla ierakstus no diska, jebkādas nav ASCII rakstzīmes unikoda virkne tiek aizstāts ar jautājuma zīmi (?) kā izskaidrots sadaļā "Iemesls".
Cēlonis
Šī problēma rodas, jo reģistrēšanas kolonnas Threat Management Gateway tiek saglabāti ASCII formātā un žurnāla ierakstus, kas ir rakstīti, lai diska URL vērtības un Mērķa resursdatora kolonnas pārvērsti unikoda ASCII. Tādējādi jebkura vērtība nav ASCII vērtība ir jāaizstāj ar jautājuma zīmi (?).
Risinājums
Lai novērstu šo problēmu, instalējiet 4 apkopojums Forefront Threat Management Gateway 2010 Service Pack 2 un pēc tam palaidiet skriptu sadaļā "Papildinformācija".
Statuss
Korporācija Microsoft ir apstiprinājusi, ka šī problēma pastāv Microsoft produktos, kas ir minēti sadaļā "Attiecas uz".
Papildinformācija
Kopējiet un ielīmējiet šo skriptu Notepad.exe un pēc tam saglabājiet failu kā "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
Lai iespējotu Threat Management Gateway pastāvēt kā Punycode vērtības žurnāla ierakstus, izpildiet šādu komandu:
cscript.exe SetPersistLogAsPunycode.vbs 1Lai atgrieztos Threat Management Gateway tās noklusējuma darbību reģistrēšanas laukus kā ASCII rakstzīmēm, izpildiet šādu komandu:
cscript.exe SetPersistLogAsPunycode.vbs 0
Atsauces
Skatiet terminoloģijas Microsoft izmanto, lai aprakstītu programmatūras atjauninājumus.