Applies ToMicrosoft Forefront Threat Management Gateway 2010 Service Pack 2 Forefront Threat Management Gateway 2010 Enterprise Forefront Threat Management Gateway 2010 Standard

Symptomy

Rozpatrzmy następujący scenariusz:

  • Skonfigurowano bramę zarządzania zagrożeniami w programie Microsoft Forefront 2010 w celu używania funkcji Zastępowanie użytkownika dla zablokowanych kategorii wprowadzonej w programie Microsoft Forefront Threat Management Gateway 2010 z dodatkiem Service Pack 1 (SP1).

  • Skonfigurowano bramę Forefront Threat Management Gateway 2010 w celu generowania raportów, dzięki czemu można monitorować, którzy użytkownicy zastępują reguły odmów.

W tym scenariuszu może się okazać, że informacje podsumowujące dla tabeli Najwyższe zastąpione adresy URL i dla tabeli Zastępowanie reguły najwyższej są wyświetlane niepoprawne informacje, a wartości wydają się dużo większe, niż oczekiwano.

Przyczyna

Ten problem występuje, ponieważ procedura składowana podsumowująca te informacje nieprawidłowo akumuluje wartości, dzięki czemu wartości z poprzedniego dnia są rzutowane na wartości następnego dnia.

Rozwiązanie

Aby rozwiązać ten problem, zainstaluj pakiet poprawki opisany w następującym artykule z bazy wiedzy Microsoft Knowledge Base:

2649961 Pakiet zbiorczy 1 dla dodatku Service Pack 2010 Forefront Threat Management Gateway (TMG) 2010— aby włączyć tę poprawkę, uruchom skrypt FixSoftBlockSummaries.js na jednym z serwerów forefront Threat Management Gateway. Skrypt ten można uruchomić na dowolnym serwerze Forefront Threat Management Gateway, w węźle tablicy lub na serwerze zarządzania przedsiębiorstwem.Zwróć uwagę, że skrypt wylicza wszystkie dostępne tablice i poprawia procedurę składowaną, dzięki czemu informacje podsumowujące są tworzone poprawnie. Jeśli do magazynu zostaną dodane nowe tablice, może być trzeba ponownie uruchomić skrypt.Aby włączyć tę poprawkę dla Ciebie, przejdź do sekcji "Poprawkadla mnie". Jeśli wolisz samodzielnie włączyć tę poprawkę, przejdź do sekcji "Pozwólmi rozwiązać tosamodzielnie".

Automatyczne rozwiązywanie problemu

Aby automatycznie włączyć tę poprawkę, kliknij przycisk lub link Napraw. Następnie kliknij pozycję Uruchom w oknie dialogowym Pobieranie pliku i postępuj zgodnie z instrukcjami kreatora naprawy.

Uwagi

  • Przed uruchomieniem tego rozwiązania fix it zainstaluj poprawkę opisaną w artykule 2649961 z bazy wiedzy Microsoft Knowledge Base (KB).

  • Ten kreator może być dostępny tylko w języku angielskim. Jednak ta poprawka automatyczna działa również w innych wersjach językowych systemu Windows.

  • Jeśli używany komputer nie jest tym, którego dotyczy problem, można zapisać to rozwiązanie w postaci poprawki automatycznej na dysku flash lub CD i uruchomić je na odpowiednim komputerze.

Następnie przejdź do sekcji"Czy to rozwiązało problem?".

Samodzielne rozwiązywanie problemu

  1. Uruchom Notatnik. Aby uruchomić Notatnik, kliknij przycisk Start,kliknij przycisk Uruchom,wpisz notepad.exe w polu Otwórz, a następnie kliknij przycisk OK.

  2. Wklej poniższy skrypt do nowego pliku Notatnika.

    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");}
  3. Zapisz plik jako FixSoftBlockSummaries.js, a następnie zamknij Notatnik.

  4. Na serwerze otwórz wiersz polecenia administracyjnego.

  5. Uruchom skrypt przy użyciu następującego polecenia:

    cscript.exe FixSoftBlockSummaries.js

Poczekaj na ukończenie skryptu i zsynchronizowanie konfiguracji. Następnie informacje o użytkownikach, którzy zastępują reguły odmów, zostaną poprawnie utworzone. Skrypt nie może rozwiązać tego problemu w przypadku poprzednich danych podsumowujących.

Czy problem został rozwiązany?

  • Sprawdź, czy problem został rozwiązany. Jeśli problem został rozwiązany, to koniec pracy z tą sekcją. Jeśli problem nie został rozwiązany, można skontaktować się z pomocą techniczną.

  • Przekaż opinię. Aby przekazać swoją opinię lub zgłosić jakiekolwiek problemy dotyczące tego rozwiązania, można zostawić komentarz na blogu Fix it for me (Automatyczne rozwiązywanie problemu) lub wysłać wiadomość e-mail.

Stan

Firma Microsoft potwierdziła, że jest to problem w produktach firmy Microsoft wymienionych w sekcji "Dotyczy".

Informacje

Aby uzyskać więcej informacji na temat terminologii aktualizacji oprogramowania, kliknij następujący numer artykułu, aby wyświetlić ten artykuł z bazy wiedzy Microsoft Knowledge Base:

824684 Opis standardowej terminologii używanej do opisywania aktualizacji oprogramowania firmy Microsoft

Potrzebujesz dalszej pomocy?

Chcesz uzyskać więcej opcji?

Poznaj korzyści z subskrypcji, przeglądaj kursy szkoleniowe, dowiedz się, jak zabezpieczyć urządzenie i nie tylko.

Społeczności pomagają zadawać i odpowiadać na pytania, przekazywać opinie i słuchać ekspertów z bogatą wiedzą.