PDA

Просмотр полной версии : Job и Audit в SharePoint


Kent
20.05.2008, 19:10
Доброго времени суток.
Подскажите знающие люди.
Есть такая задача.
Т.к. в SP не предусмотрена чистка логов аудита, то написал джоб, который к примеру раз в сутки будет эти логи чистить.

Джоб не отрабатывает а вываливается в ошибку :

System.UnauthorizedAccessException: Попытка выполнить несанкционированную операцию.
в Microsoft.SharePoint.SPAudit.DeleteEntries(DateTim e deleteEndDate)
в CleanAuditJob.CleanAuditJob.Execute(Guid contentDbId)


Подозреваю, что может быть проблема с правами . Хотя чесно говоря я не понимаю, от какого пользователя запускается джоб. Его ведь запускает сама служба в SP.

Привожу код моего Execute : (может тут ошибка)

public override void Execute(Guid contentDbId)
{
try
{
SPSite mySite = new SPSite("http://testportal");
mySite.Audit.DeleteEntries(DateTime.Now.ToLocalTim e().AddDays(1));
mySite.Audit.Update();

}
catch (Exception ex)
{
TextWriter myWriter =
new StreamWriter(@"c:\audit.txt");
myWriter.WriteLine(ex.ToString());
myWriter.Close();
}

}

Erkin Kuchkarov
20.05.2008, 23:53
не понимаю, от какого пользователя запускается джоб.
От имени того под кем запускается SP.

Kent
21.05.2008, 11:18
От имени того под кем запускается SP.

Ок. Понятно. Тогда ж почему не удалятся логи? ведь запуск SP идет от администратора, а у него (админа) ЕСТЬ ВСЕ права на этот узел, на котором удаляются логи .
Непонятно(

Kent
22.05.2008, 13:34
ну вот.
как бы нашел причину. Именно Execute запускается не под именем админа (под котрым запущен сам SP)
Я в самом Execute сделал запись в тестовый список со значеним текущего пользователя. Так вот...
(кстати забыл сказать, что SP у меня установлен на виртуальной машине). сама машина называется SPPS (ну так я ее назвал)
На машину захожу под Администатором

Так вот... после того как отработал джоб в список было занесено имя SPPS$
(заносил вот так : myWeb.CurrentUser.Name)

Что за SPPS$?? Это ж не системная учетная запись.
Может быть подскажет кто то, как перед удаленим логов.. проставить или вернее дать права администратора??

Kent
26.05.2008, 12:05
неужели никто не может помочь?(
жаль канечно(