Symptom
Tänk dig följande situation:
-
Du konfigurerar Microsoft Forefront Threat Management Gateway 2010 så att du kan använda användar åsidosättningen för blockerade kategorier-funktioner som introducerades i Microsoft Forefront Threat Management Gateway 2010 Service Pack 1 (SP1).
-
Du konfigurerar Forefront Threat Management Gateway 2010 för att generera rapporter så att du kan övervaka vilka användare som åsidosätter reglerna för nekade.
I det här scenariot kan du se att sammanfattningsinformationen för tabellen Top Overridden URL:er och för tabellen Åsidosätta användare för den övre regeln visar felaktig information och att värdena verkar mycket större än väntat.
Orsak
Det här problemet uppstår eftersom den lagrade proceduren för att sammanfatta den här informationen felaktigt ackumulerar värdena så att föregående dagens värden summeras till nästa dagens värden.
Lösning
Lös problemet genom att installera snabbkorrigeringspaketet som beskrivs i följande Microsoft Knowledge Base-artikel:
2649961 Rollup 1 för Forefront Threat Management Gateway (TMG) 2010 Service Pack 2To enable this fix, run the FixSoftBlockSummaries.js script on one of the Forefront Threat Management Gateway servers. Du kan köra det här skriptet på valfri Forefront Threat Management Gateway-server, en matrisnod eller en Enterprise Management Server.
Obs! Skriptet räknar upp alla tillgängliga matriser och korrigerar den lagrade proceduren så att sammanfattningsinformationen skapas på rätt sätt. Du kan behöva köra skriptet igen om nya matriser läggs till i lagringsutrymmet.
Om du vill att vi aktiverar den här korrigeringen åt dig går du till avsnittet"Åtgärda det åt mig". Om du föredrar att aktivera den här korrigeringen själv går du till avsnittet"Lösa det på egenhand".
Lös det åt mig
Klicka på knappen eller länken Åtgärda om du vill aktivera korrigeringen automatiskt. Klicka sedan på Kör i dialogrutan Filhämtning och följ stegen i Fix it-guiden.
Anteckningar
-
Installera snabbkorrigering som beskrivs i Microsoft Knowledge Base (KB) artikel 2649961 innan du kör den här Fix it-lösningen.
-
Den här guiden är kanske enbart på engelska. Den automatiska korrigeringsfilen fungerar dock även för andra språkversioner av Windows.
-
Om du inte är på den dator där problemet finns sparar du Fix it-lösningen på ett flashminne eller en CD-skiva och kör den sedan på den dator där problemet uppstår.
Gå sedan till avsnittet"Löste det här problemet?".
Jag löser det själv
-
Starta Anteckningar. Starta Anteckningar genom att klicka på Start,klicka på Kör,skriva notepad.exe i rutan Öppna och sedan klicka på OK.
-
Klistra in följande skript i en ny fil i Anteckningar.
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");
} -
Spara filen som FixSoftBlockSummaries.js och avsluta anteckningarna.
-
Öppna en kommandotolk för administration på en server.
-
Kör skriptet med hjälp av följande kommando:
cscript.exe FixSoftBlockSummaries.js
Vänta tills skriptet har slutförts och konfigurationen har synkroniserats. Därefter skapas information om användare som har åsidosättt reglerna för nekande på rätt sätt. Skriptet kan inte åtgärda det här problemet för tidigare sammanfattningsdata.
Löste det här problemet?
-
Kontrollera om problemet är åtgärdat. Om problemet är åtgärdat är du klar med det här avsnittet. Om problemet inte är åtgärdat kan du kontakta support.
-
Vi skulle uppskatta din feedback. Lämna en kommentar på bloggen"Åtgärdadet åt mig" eller skicka ett e-postmeddelande till oss om du vill ge feedback eller rapportera problem med den här lösningen.
Status
Microsoft har bekräftat att det är ett problem i de Microsoft-produkter som listas i avsnittet "Gäller för".
Referenser
Om du vill ha mer information om terminologi för programuppdateringar klickar du på följande artikelnummer för att visa artikeln i Microsoft Knowledge Base:
824684 Beskrivning av standardterminologin som används för att beskriva microsoft-programuppdateringar