الأعراض
قد يتم عرض الأعمدة العنوان و اسم المضيف المحدد في سجل وكيل ويب Microsoft Forefront خطر إدارة عبارة 2010 كقيم غير قابل للقراءة. تحدث هذه المشكلة عند المستخدمين الوصول إلى مواقع ويب باستخدام اسم مجال دوليا (IDN) وإدخالات السجل التي يتم استردادها من القرص. ملاحظة: Idn هي أسماء المجالات التي قد تحتوي على أحرف Unicode ويتم الوصول إليها باستخدام النسخ Punycode. عبارة إدارة خطر تحويل اسم Punycode إلى تمثيل Unicode عند إدخالات السجل التي يتم عرضها في طريقة العرض التسجيل في "إدارة حالة حرية التعبير في طليعة" الأداة الإضافية وحدة التحكم بالإدارة ل Microsoft (MMC). على الرغم من ذلك، عندما يتم استرداد إدخالات السجل من القرص، يتم استبدال أية أحرف ليست ASCII في سلسلة Unicode بعلامة استفهام (?)، كما نشرح في قسم "السبب".
السبب
تحدث هذه المشكلة لأنه يتم حفظ الأعمدة التسجيل في "بوابة إدارة التهديد" بتنسيق ASCII، وعند سجلات التسجيل التي تتم كتابتها إلى القرص، القيم الموجودة في عنوان URL ويتم تحويل الأعمدة اسم المضيف الوجهة من Unicode إلى ASCII. يؤدي أي قيمة غير ASCII في قيمة استبدال علامة استفهام (?).
الحل
لحل هذه المشكلة، تثبيت مجموعة التحديثات 4 Forefront التهديد إدارة العبارة 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
لتمكين "العبارة إدارة تهديدا" لاستمرارية إدخالات السجل كقيم Punycode، بتشغيل الأمر التالي:
cscript.exe SetPersistLogAsPunycode.vbs 1للعودة "بوابة إدارة التهديد" للسلوك الافتراضي الخاص به لتسجيل الحقول كأحرف ASCII، تشغيل الأمر التالي:
cscript.exe SetPersistLogAsPunycode.vbs 0
المراجع
راجع استخدام Microsoft المصطلحات لوصف تحديثات البرامج.