תופעות
שקול את התרחיש הבא:
-
שירות התפקידים 'רישום לאינטרנט' של שירותי האישורים מותקן בשרת מבוסס Windows Server 2008 R2.
-
יש לך מחשב לקוח שבו פועל Internet Explorer 10 או גירסה מתקדמת יותר.
-
אתה מנסה לגשת לדף הרשמת האינטרנט של שירותי אישורים המתארח בשרת מבוסס-Windows Server 2008 R2.
בתרחיש זה, השגיאה הבאה מתקבלת ב- Internet Explorer:
דפדפן אינטרנט זה אינו תומך בהפקת בקשות האישור
סיבה
בדיקת גירסת הדפדפן מזהה באופן שגוי את גירסת Internet Explorer כ- "IE 1".
פתרון
להלן הפתרונות הנתמכים לבעיה זו:
-
קבע תצורה של תצוגת תאימות ב- Internet Explorer.
-
העבר את הפונקציונליות של דף הרשמה לאינטרנט אל Windows Server 2012.
-
שנה את הקובץ Certsbrt.inc על-ידי החלפת שורות 44 עד 70 בתוכן הבא. Certsbrt.inc ממוקם בתיקיה הבאה:
%WINDIR%\system32\certsrv\en-us
'' If there is no '.' in the UserAgent string, this will return the next character if any' as the version number. ' We extract the string until a '.' and then convert it' into integer. If -1 is returned from this function then it isn't MSIE 'Function GetInternetExplorerVersionNumber(sHttpUserAgent) Dim nMSIEGetInternetExplorerVersionNumber = -1 nMSIE = InStr(sHttpUserAgent, "MSIE") If 0 <> nMSIE Then numChar = InStr(Mid(sHttpUserAgent, nMSIE + 5), ".") - 1 If -1 = numChar Then ' no '.' in the string numChar = 1 End If If nMSIE + 5 + numChar - 1 <= Len(sHttpUserAgent) Then GetInternetExplorerVersionNumber = CInt(Mid(sHttpUserAgent, nMSIE + 5, numChar)) End If End IfEnd Function'' We define a Old MSIE based browser' if it has the string MSIE that is followed by a version number that is less than 4' NOTE:' IsOldMSIE = False does not imply MSIE >= 4.'' i.e. Not IsOldMSIE("abc") = True' Not IsOldMSIE("MSIE") = True'Function IsOldMSIE(sHttpUserAgent) Dim nMSIE Dim sMSIEVersion IsOldMSIE = False nMSIE = InStr(sHttpUserAgent, "MSIE") If nMSIE <> 0 AND (nMSIE+5 < Len(sHttpUserAgent)) Then nVersion = GetInternetExplorerVersionNumber(sHttpUserAgent) If -1 <> nVersion Then IsOldMSIE = nVersion < NEW_MSIE_VERSION End If End IfEnd Function
מידע נוסף
שורות 44 עד 70 בקובץ Certsbrt.inc שלא השתנות בשרת מבוסס Windows Server 2008 R2 הן כדלקמן. אלה השורות שיש להחליף.
'' We define a Old MSIE based browser' if it has the string MSIE that is followed by a version number that is less than 4' NOTE:' IsOldMSIE = False does not imply MSIE >= 4.'' i.e. Not IsOldMSIE("abc") = True' Not IsOldMSIE("MSIE") = True'Function IsOldMSIE(sHttpUserAgent) Dim nMSIE Dim sMSIEVersion nMSIE = InStr(sHttpUserAgent, "MSIE") If nMSIE=0 Then IsOldMSIE = False ElseIf nMSIE+5 < Len(sHttpUserAgent) Then sMSIEVersion = Mid(sHttpUserAgent, nMSIE+5, 1) IsOldMSIE = CInt(sMSIEVersion) < NEW_MSIE_VERSION Else IsOldMSIE = False End IfEnd Function