Microsoft로 로그인
로그인하거나 계정을 만듭니다.
안녕하세요.
다른 계정을 선택합니다.
계정이 여러 개 있음
로그인할 계정을 선택합니다.

증상

Microsoft Forefront 위협 관리 게이트웨이 2010에 대 한 웹 프록시 로그의 URL 과 대상 호스트 이름 열 값을 읽을 수 없습니다 표시 될 수 있습니다. 다국어 도메인 이름 (IDN)을 사용 하 여 웹 사이트에 대 한 사용자 액세스 및 로그 항목을 디스크에서 검색 하는 경우이 문제가 발생 합니다. 참고: Idn은 유니코드 문자를 포함할 수 있으며 Punycode 대사를 사용 하 여 액세스 하는 도메인 이름입니다. 위협 관리 게이트웨이 로그 항목은 Forefront TMG 관리 스냅인에서 Microsoft 관리 콘솔 (MMC) 로깅 보기에서 보면 Punycode 이름을 유니코드 표현으로 변환 합니다. 그러나 디스크에서 로그 엔트리를 검색 하는 경우 유니코드 문자열에 ASCII가 아닌 문자가 바뀝니다 물음표 (?) "원인" 절에 설명 합니다.

원인

이 문제는 로그 레코드가 디스크에 값을 URL 에 기록 하 고 대상 호스트 이름 열 ASCII 유니코드에서 변환 됩니다 및 위협 관리 게이트웨이 로깅 열 ASCII 형식으로 저장 되기 때문에 발생 합니다. 따라서 물음표 (?)으로 바꿔야 할 값에 ASCII가 아닌 값.

해결 방법

이 문제를 해결 하려면 Forefront 위협 관리 게이트웨이 2010 서비스 팩 2 용 롤업 4 를 설치 하 고 "추가 정보" 섹션에서 스크립트를 실행 합니다.

상태

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 제품과 서비스를 개선하는 데 사용됩니다. IT 관리자는 이 데이터를 수집할 수 있습니다. 개인정보처리방침

의견 주셔서 감사합니다!

×