C'è un modo per elencare tutti i lavori di distribuzione dei contenuti sulla pagina ASPX?
-
09-12-2019 - |
Domanda
C'è un modo per ottenere tutti i lavori locali di contenuti dal codice dell'applicazione Web?
Sto cercando di elencare tutti i lavori su una pagina ASPX nel backend di una raccolta siti, ma ogni volta che eseguo questo:
ContentDeploymentJob.GetAllJobs()
.
Un'eccezione accessened è aumentata, dicendo che l'utente di esecuzione non è un amministratore di fattoria.Se lo provo con elevatorilifilizzati o impersonizione come Agin Admin che non funziona anche.
Soluzione
Dopo alcuni mesi di non pensare a questo problema ho trovato una risposta:
Esegui il seguente script PowerShell e dovrebbe funzionare (testato su una fattoria autonoma):
PS C:\Users\xxx> $contentService = [Microsoft.SharePoint.Administration.SPWebService]::ContentService
PS C:\Users\xxx> $contentService.RemoteAdministratorAccessDenied = $false
PS C:\Users\xxx> $contentService.Update()
.
Qui il mio codice di test (eseguito in un WebPart):
try
{
ContentDeploymentJobCollection jobs = ContentDeploymentJob.GetAllJobs();
foreach (ContentDeploymentJob job in jobs)
{
BulletedList1.Items.Add(job.Name);
}
}
catch (Exception ex)
{
BulletedList1.Items.Add(ex.Message);
}
. Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange