อาการ
พิจารณาสถานการณ์ต่อไปนี้:
-
คุณกําหนดค่า Microsoft Forsfront Threat Management Gateway 2010 ให้ใช้การแทนที่โดยผู้ใช้กับฟีเจอร์ประเภทที่ถูกบล็อกที่ถูกแนะService Pack Microsoft Forsfront Threat Management Gateway 2010
-
คุณกําหนดค่า Foryfront Threat Management Gateway 2010 ให้สร้างรายงานเพื่อให้คุณสามารถตรวจสอบได้ว่าผู้ใช้คนใดที่แทนที่กฎการปฏิเสธ
ในสถานการณ์นี้ คุณอาจพบว่าข้อมูลสรุปของตาราง URL ที่ถูกแทนที่ด้านบนและตารางแทนที่กฎบนสุดในตารางผู้ใช้แสดงข้อมูลที่ไม่ถูกต้อง และค่าดูใหญ่กว่าที่คาดไว้มาก
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจากกระบวนการที่จัดเก็บไว้เพื่อสรุปข้อมูลนี้อย่างไม่ถูกต้องสะสมค่าเพื่อให้ค่าของวันก่อนหน้าถูกรวบรวมลงในค่าของวันถัดไป
การแก้ไข
เมื่อต้องการแก้ไขปัญหานี้ ให้ติดตั้งแพคเกจโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของไมโครซอฟท์ต่อไปนี้:
2649961 Rollup 1 for Forofront Threat Management Gateway (TMG) 2010 Service Pack 2To เปิดใช้งานการแก้ไขนี้ ให้เรียกใช้สคริปต์ FixSoftBlockSummaries.js บนเซิร์ฟเวอร์ Fortfront Threat Management Gateway ตัวใดตัวหนึ่ง คุณสามารถเรียกใช้สคริปต์นี้บนเซิร์ฟเวอร์ Forsfront Threat Management Gateway, โหนดอาร์เรย์ หรือเซิร์ฟเวอร์การจัดการองค์กร
หมายเหตุ สคริปต์จะแจงแจงอาร์เรย์ที่พร้อมใช้งานทั้งหมดและแก้ไขกระบวนงานที่เก็บไว้เพื่อให้ข้อมูลสรุปถูกสร้างขึ้นอย่างถูกต้อง คุณอาจต้องเรียกใช้สคริปต์อีกครั้งถ้าอาร์เรย์ใหม่ถูกเพิ่มลงในที่เก็บข้อมูล
เมื่อต้องการให้เราเปิดใช้งานการแก้ไขนี้ให้คุณ ให้ไปที่ส่วน "แก้ไขให้ฉัน" ถ้าคุณต้องการเปิดใช้งานการแก้ไขนี้ด้วยตนเอง ให้ไปที่ส่วน "ให้ฉันแก้ไขด้วยตนเอง"
แก้ปัญหาให้ฉัน
เมื่อต้องการเปิดใช้งานการแก้ไขนี้โดยอัตโนมัติ ให้คลิกปุ่มหรือ ลิงก์ แก้ไข จากนั้นคลิกเรียกใช้ในกล่องโต้ตอบ ดาวน์โหลดไฟล์แล้วปฏิบัติตามขั้นตอนในตัวช่วยสร้าง แก้ไข
หมายเหตุ
-
ติดตั้งโปรแกรมแก้ไขด่วนที่อธิบายไว้ในบทความฐานความรู้ของไมโครซอฟท์ (KB) 2649961 ก่อนที่คุณจะเรียกใช้โซลูชัน แก้ไข
-
ตัวช่วยสร้างนี้อาจมีเฉพาะภาษาอังกฤษ อย่างไรก็ตาม การแก้ไขอัตโนมัติยังสามารถใช้ได้กับ Windows รุ่นภาษาอื่นด้วย
-
หากคุณไม่ได้อยู่กับคอมพิวเตอร์ที่มีปัญหา ให้บันทึกโซลูชันการแก้ไขปัญหาไว้ในแฟลชไดร์ฟหรือแผ่นซีดี แล้วจึงเรียกใช้ในคอมพิวเตอร์ที่มีปัญหา
จากนั้นไปที่ส่วน "วิธีนี้แก้ไขปัญหาได้หรือไม่"
ให้ฉันแก้ไขปัญหาเอง
-
เริ่ม Notepad เมื่อต้องการเริ่ม Notepad ให้คลิกเริ่ม คลิกเรียกใช้ notepad.exeตัวเลือก ในกล่อง เปิด แล้วคลิกตกลง
-
วางสคริปต์ต่อไปนี้ลงในไฟล์ Notepad ใหม่
var guidGenerator = new ActiveXObject("Scriptlet.TypeLib");
var fpcRoot = new ActiveXObject("FPC.Root");
try
{
WScript.Echo("Enumerating arrays:");
var arraysCollection = new Enumerator(fpcRoot.Arrays);
for (; !arraysCollection.atEnd(); arraysCollection.moveNext())
{
try
{
var array = arraysCollection.item();
var found = false;
WScript.Echo(" " + array.Name);
var sumDefsCollection = new Enumerator(array.Reports.ReportSummaryDefinitions);
for(; !sumDefsCollection.atEnd(); sumDefsCollection.moveNext())
{
var sumDef = sumDefsCollection.item();
if(sumDef.Name != "spTrimArraySoftBlockSummary")
{
continue;
}
if (sumDef.AggregationStatement.indexOf("@ToDate AS [Date]") < 0)
{
WScript.Echo("---- spTrimArraySoftBlockSummary.AggregationStatement already contains fix, skipping array");
break;
}
found = true;
WScript.Echo("Found summary definition " + sumDef.Name + ", will fix the AggregationStatement");
WScript.Echo("---- Old version start");
WScript.Echo(sumDef.AggregationStatement);
WScript.Echo("---- Old version end");
sumDef.AggregationStatement = sumDef.AggregationStatement.replace(/@ToDate AS \[Date\]/g, "@FromDate AS [Date]");
WScript.Echo("---- New version start");
WScript.Echo(sumDef.AggregationStatement);
WScript.Echo("---- New version end");
break;
}
if (found)
{
WScript.Echo("Updating configuration ID...");
WScript.Echo("Old configuration ID:" + array.Reports.ReportingServicesProperties.ReportingServicesConfigurationId);
array.Reports.ReportingServicesProperties.ReportingServicesConfigurationId = guidGenerator.Guid;
WScript.Echo("New configuration ID:" + array.Reports.ReportingServicesProperties.ReportingServicesConfigurationId);
WScript.Echo("Saving the current configuration...");
array.Save();
WScript.Echo("Waiting for configuration reload...");
array.WaitForReload();
}
}
catch (err)
{
WScript.Echo("An error occurred. Error Decscription: " + err.description);
WScript.Echo("Try running the script as an administrator");
}
}
}
catch (err)
{
WScript.Echo("An error occurred. Error Decscription: " + err.description);
WScript.Echo("Try running the script as an administrator");
} -
บันทึกไฟล์FixSoftBlockSummaries.jsออกจาก Notepad
-
บนเซิร์ฟเวอร์ ให้เปิดพร้อมท์สั่งการดูแลระบบ
-
เรียกใช้สคริปต์โดยใช้สั่งต่อไปนี้:
cscript.exe FixSoftBlockSummaries.js
รอให้สคริปต์เสร็จสมบูรณ์และการกําหนดค่าเพื่อซิงโครไนซ์ หลังจากนี้ ข้อมูลเกี่ยวกับผู้ใช้ที่ถูกแทนที่กฎการปฏิเสธจะถูกสร้างขึ้นอย่างถูกต้อง สคริปต์ไม่สามารถแก้ไขปัญหานี้ได้กับข้อมูลสรุปก่อนหน้า
สามารถแก้ไขปัญหาได้หรือไม่
-
ตรวจสอบว่าปัญหานี้ได้รับการแก้ไขหรือไม่ หากแก้ไขปัญหาได้แล้ว คุณไม่ต้องดำเนินการใดๆ กับส่วนนี้อีก หากปัญหายังไม่ได้รับการแก้ไข คุณสามารถ ติดต่อฝ่ายสนับสนุน
-
เราขอขอบคุณที่ให้ข้อเสนอแนะของคุณ เมื่อต้องการให้ข้อคิดเห็นหรือรายงานปัญหาเกี่ยวกับโซลูชันนี้ โปรดใส่ข้อคิดเห็นบน "แก้ไขให้ฉัน" บล็อก หรือ ส่งอีเมลถึงเรา
สถานะ
Microsoft ยืนยันว่าปัญหานี้เป็นปัญหาที่เกิดขึ้นกับผลิตภัณฑ์ของ Microsoft ซึ่งมีการระบุไว้ในส่วน "นำไปใช้กับ"
อ้างอิง
For more information about software update terminology, click the following article number to view the article in the Microsoft Knowledge Base:
824684 อธิบายศัพท์เฉพาะมาตรฐานที่ใช้เพื่ออธิบายการอัปเดตซอฟต์แวร์ของ Microsoft