徵兆
請試想下列案例:
-
您將 Microsoft Forefront Threat Management Gateway 2010 設定為使用 Microsoft Forefront Threat Management Gateway 2010 Service Pack 1 (SP1) 中推出的封鎖類別功能的使用者覆蓋。
-
您將 Forefront Threat Management Gateway 2010 設定為產生報告,以便監控哪些使用者正在重寫拒絕規則。
在此情境中,您可能會發現頂端重寫的 URL 資料表和頂端規則覆蓋使用者資料表的摘要資訊顯示不正確的資訊,且值看起來比預期更大。
原因
發生此問題的原因是摘要此資訊的儲存程式不正確地累積值,因此前一天的值會匯總到第二天的值。
解決方案
若要解決此問題,請安裝下列 Microsoft 知識庫文章中所述的 Hotfix 套件:
2649961 Forefront Threat Management Gateway (TMG) 2010 Service Pack 2 的匯總套件 1 若要啟用此修正程式,請于其中一個 Forefront 威脅管理閘道伺服器上執行 FixSoftBlockSummaries.js 腳本。 您可以在任何 Forefront Threat Management Gateway 伺服器、陣列節點或企業管理伺服器上執行此腳本。 注意:腳本會列舉所有可用的陣列並修正儲存的程式,以正確建立摘要資訊。 如果新的陣列已新加到儲存空間,您可能必須再次執行腳本。 若要讓我們針對您啟用此修正程式,請前往「為我 修正」一節。 如果您想要自己啟用此修正程式,請前往「讓我自己修正」一節。
為我修正此問題
若要自動啟用此修正程式,請按一下 [ 修正此問題的按鈕 或連結。 接著, 按一下 [ 檔案下載精靈 中執行,並遵循修正精靈中的步驟操作。
筆記
-
執行此修正程式解決方案之前,請安裝 Microsoft 知識庫 (KB) 2649961 文章中所述的 Hotfix。
-
此精靈可能只提供英文版本。 不過,自動修正程式也適用於 Windows 的其他語言版本。
-
如果您不在發生問題的電腦上,則可將 Fix it 解決方案儲存至快閃磁碟機或 CD,然後在發生問題的電腦上執行。
此問題是否修正?」一節。
接著,請前往「讓我自行修正此問題
-
啟動記事本。 若要啟動記事本,請按一下 [開始notepad.exe,在[開啟notepad.exe中輸入文字,然後按一下[確定。
-
將下列腳本貼到新的記事本檔案中。
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,然後離開記事本。
-
在伺服器上,開啟系統管理命令提示。
-
使用下列命令執行腳本:
cscript.exe FixSoftBlockSummaries.js
等待腳本完成並同步處理組配置。 在此之後,已正確建立已覆蓋拒絕規則之使用者的資訊。 腳本無法修正先前的摘要資料此問題。
這樣是否已修正問題?
狀態
Microsoft 已確認<適用於>一節中所列的 Microsoft 產品確實有上述問題。
參考
如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:
824684 用來描述 Microsoft 軟體更新的標準術語說明