Tuesday, April 10, 2007 8:16 PM
pavelka
Аудит в MOSS 2007 (часть 1)
Одна из интересных особенностей встроенной системы аудита MOSS 2007 - отсутствие каких-либо встроенных средств для очистки списка событий аудита. Единственный найденный мною способ очистки - программный. Для задач в текущем проекте была написана утилита, которая очищает все события.
Код достаточно простой:
public class AuditProgram
{
static void Main(string[] args)
{
Console.WriteLine();
Console.WriteLine("PkUtil Version " + System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString());
Console.WriteLine("Copyright (c) 2007 Pavel Kalyakin, Microsoft Consulting Services Russia. All Rights Reserved");
if (args.Length < 1)
{
Console.WriteLine("valid URL should be supplied.");
Console.WriteLine("example - audit.exe \"http://test\"");
return;
}
string startSite = args[0];
Console.WriteLine("connecting to: {0}", startSite);
SPSite site = null;
try
{
site = new SPSite(startSite);
if (site != null)
{
try
{
Console.WriteLine("successfully connected to {0}", startSite);
site.Audit.DeleteEntries(DateTime.Now);
Console.WriteLine("auditing entries sucessfully deleted!");
}
catch (Exception ex)
{
Console.WriteLine("unexpected error occuried: {0}", ex.Message);
}
}
}
catch (Exception ex)
{
Console.WriteLine("unexpected error occuried: {0}", ex.Message);
}
finally
{
if ( site != null )
{
site.RootWeb.Dispose();
site.Dispose();
}
}
}
}
Следует учесть, что выполнение очистки лога аудита влечет за собой появление записи в логе аудита о факте очистки.