Simptomi
URL i Naziv glavnog računala odredište stupaca u web-proxy zapisnik Microsoft sustavu Forefront prijetnja upravljanja pristupnik 2010 može se prikazati kao nečitljivi vrijednosti. Taj se problem pojavljuje kada korisnici pristupaju web-mjesta pomoću naziva internacionalizirane domena (IDN) i stavke evidencije dohvaćene s diska. Napomena IDN-ovi su nazivi domena koji možda sadrže Unicode znakove i pristupiti pomoću Punycode transcription. Pristupnik upravljanja prijetnja pretvara naziv Punycode u Unicode predstavljanje kada stavke evidencije gleda u prikazu zapisivanja u dodatku za upravljanje TMG sustavu Forefront od Microsoft Management Console (MMC). Međutim, kada stavke evidencije dohvaćaju se iz disk, bilo koji ne-ASCII znakove u Unicode niza su zamijenjena upitnik (?) kao smo objašnjavaju u odjeljku "Uzrok".
Uzrok
Taj se problem pojavljuje jer stupaca zapisivanja u prijetnja upravljanja pristupnik spremaju u ASCII formatu i kada zapise zapisnika zapisuju na disk, vrijednosti u URL i Naziv glavnog računala odredište stupce pretvaraju iz Unicode u ASCII. To uzrokuje bilo koji ne-ASCII vrijednost u vrijednosti biti zamijenjene upitnik (?).
Rješenje
Da biste riješili taj problem, instalirajte 4 skupne vrijednosti za sustavu Forefront prijetnja upravljanja pristupnik 2010 Service Pack 2 i zatim pokrenuti skriptu u odjeljku "Dodatne informacije".
Status
Microsoft je potvrdio da se taj problem pojavljuje u Microsoftovim proizvodima navedenima u odjeljku "Odnosi se na".
Dodatne informacije
Kopirajte i zalijepite sljedeću skriptu Notepad.exe i zatim spremite datoteku kao "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
Da biste omogućili prijetnja upravljanja pristupnik održati stavke evidencije kao Punycode vrijednosti, pokrenite sljedeću naredbu:
cscript.exe SetPersistLogAsPunycode.vbs 1Da biste vratili prijetnja upravljanja pristupnik za njegov zadano ponašanje zapisivanja polja kao ASCII znakovi, pokrenite sljedeću naredbu:
cscript.exe SetPersistLogAsPunycode.vbs 0
Reference
Pogledajte Microsoft koristi terminologiju za opisivanje softverskih ažuriranja.