Belirtiler
Microsoft Forefront Threat Management Gateway 2010 web proxy günlüğünde URL ve Hedef ana bilgisayar adı sütun değerleri okunamaz olarak görüntülenebilir. Kullanıcılar bir uluslararası etki alanı adı (IDN) kullanarak Web sitelerine erişmek ve günlük girişleri diskten Bu sorun oluşur. Not: IDN'ler Unicode karakter içerebilir ve Punycode transcription kullanýlarak eriþilir, etki alanı adlarıdır. Günlük girişleri Forefront TMG Yönetimi ek bileşenini Microsoft Yönetim Konsolu (MMC) günlük görünümünde görüntülendiğinde tehdit Yönetimi ağ geçidi Punycode ad Unicode gösterimine dönüştürür. Ancak, günlük girişleri diskten zaman biz "Neden" bölümünde anlatıldığı şekilde ASCII olmayan karakterler Unicode dizesi içinde (?), soru işareti ile değiştirilir.
Neden
Bu sorun ortaya çıkar çünkü tehdit Yönetimi ağ geçidi günlük sütunlarda ASCII biçiminde kaydedilir ve günlük kayıtlarının URL değerlerini diske yazılır ve Hedef ana bilgisayar adı sütun için ASCII Unicode'dan dönüştürülür. Bu ASCII olmayan herhangi bir değer bir soru işareti (?) değiştirilecek değer neden olur.
Çözüm
Bu sorunu gidermek için Forefront Threat Management Gateway 2010 Service Pack 2 için Paketi 4 yükleyip, "Ek bilgi" bölümünde komut dosyasını çalıştırın.
Durum
Microsoft bu sorunun "Aşağıdakilere Uygulanır" bölümünde listelenen Microsoft ürünlerinde bulunduğunu onaylamıştır.
Ek Bilgi
Kopyalama ve aşağıdaki komut dosyası içinde Notepad.exe yapıştırın ve dosyayı "SetPersistLogAsPunycode.vbs" olarak kaydedin
'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
Tehdit Yönetimi ağ geçidi Punycode değerleri olarak günlük girdilerini kalıcı olarak etkinleştirmek için aşağıdaki komutu çalıştırın:
cscript.exe SetPersistLogAsPunycode.vbs 1Tehdit Yönetimi ağ geçidi için varsayılan davranışını ASCII karakterleri olarak günlük alanlarının dönmek için aşağıdaki komutu çalıştırın:
cscript.exe 0 SetPersistLogAsPunycode.vbs
Başvurular
Bkz: terminoloji Microsoft yazılım güncelleştirmelerini açıklamak için kullanır.