Symptômes
Les colonnes d’URL et le Nom d’hôte de Destination dans le journal du proxy web de Microsoft Forefront Threat Management Gateway 2010 peuvent s’afficher en tant que valeurs illisibles. Ce problème se produit lorsque les utilisateurs accéder aux sites Web à l’aide d’un nom de domaine internationaux (IDN) et les entrées du journal sont extraites du disque. Remarque Les IDN sont des noms de domaine peuvent contenir des caractères Unicode et sont accessibles à l’aide de transcription de Punycode. Threat Management Gateway convertit le nom Punycode la représentation Unicode lorsque les entrées du journal sont affichées dans la vue de la journalisation dans le composant logiciel enfichable Gestion de TMG Forefront de Microsoft Management Console (MMC). Toutefois, lorsque les entrées du journal sont récupérées sur le disque, tous les caractères non-ASCII dans la chaîne Unicode sont remplacés par un point d’interrogation (?), comme nous l’expliquons dans la section « Cause ».
Cause
Ce problème se produit car les colonnes de l’enregistrement dans Threat Management Gateway sont enregistrés au format ASCII et lorsque les enregistrements du journal sont écrites sur le disque, les valeurs de l' URL et les colonnes de Nom d’hôte de Destination sont converties à partir d’Unicode en ASCII. Ainsi, toute valeur non-ASCII dans la valeur à remplacer par un point d’interrogation (?).
Résolution
Pour résoudre ce problème, installez le correctif cumulatif 4 pour Forefront Threat Management Gateway 2010 Service Pack 2, puis exécutez le script dans la section « Informations complémentaires ».
Statut
Microsoft a confirmé l'existence de ce problème dans les produits Microsoft figurant dans la liste des produits concernés par cet article.
Informations supplémentaires
Copiez et collez le script suivant dans Notepad.exe et puis enregistrez le fichier en tant que « 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
Pour activer Threat Management Gateway rendre persistantes les entrées du journal en tant que valeurs de Punycode, exécutez la commande suivante :
cscript.exe SetPersistLogAsPunycode.vbs 1Pour rétablir les Threat Management Gateway pour son comportement par défaut des champs de l’enregistrement en tant que caractères ASCII, exécutez la commande suivante :
cscript.exe SetPersistLogAsPunycode.vbs 0
Références
Voir la terminologie Microsoft utilise pour décrire les mises à jour logicielles.