有没有办法在aspx页面上列出所有内容部署作业?
-
09-12-2019 - |
题
是否有任何方法可以从Web应用程序代码中获取所有本地ContentDeployment作业?
我正在尝试在网站集的后端列出ASPX页面上的所有作业,但每次我执行这个时:
ContentDeploymentJob.GetAllJobs()
.
访问的异常提出,称执行用户不是FARM管理。如果我用高度的预期或冒充为农场管理员尝试它,它也没有工作。
解决方案
几个月后不考虑这个问题,我找到了一个答案:
执行以下powershell脚本,它应该工作(在独立农场上测试):
PS C:\Users\xxx> $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
PS C:\Users\xxx> $contentService.RemoteAdministratorAccessDenied = $false
PS C:\Users\xxx> $contentService.Update()
.
在这里我的测试代码(在webpart中执行):
try
{
ContentDeploymentJobCollection jobs = ContentDeploymentJob.GetAllJobs();
foreach (ContentDeploymentJob job in jobs)
{
BulletedList1.Items.Add(job.Name);
}
}
catch (Exception ex)
{
BulletedList1.Items.Add(ex.Message);
}
.