Domanda

Ho un assembly personalizzato, che contiene il codice per variazioni di configurazione per un sito di editoria SharePoint 2010. Questo codice è basato fuori una post sul blog da Waldek

Ho uno script PowerShell in cui creo un nuovo WebApplication e SiteCollection, ho quindi caricare mia abitudine di assemblaggio e tentare di richiamare i metodi che l'installazione delle variazioni. Il problema è che la proprietà CurrentUser del SPWeb (rootweb) Sto cercando di lavorare con rendimenti nulli, che è la causa di fondo della accesso è l'errore che ricevo negato.

Se scomponiamo questo in due script, uno per fare la creazione e uno per chiamare il codice personalizzato, funziona, a condizione che entrambi chiamo in modo interattivo. Se li avvolgo in un singolo script genitore che richiama ciascuno di essi a loro volta sono tornato al CurrentUser essere nullo.

Ora per la mia all'uso richiesto ho bisogno di questo di lavoro nel contesto di un singolo script di installazione automatica.

Qualcuno ha visto questo o qualcosa simialr? O avete qualche idea di come avrei potuto superare questo problema?

È stato utile?

Soluzione

Il modo in cui descrivere questo, suona come un problema di cache, in quanto PowerShell si basa molto sul caching.

evito nei miei script di provisioning per la deposizione delle uova di nuovi processi di PowerShell al volo dal mio console principale. Questo può essere usato anche per garantire che le coperture sono chiamati in qualità di amministratore, quando UAC è abilitato:

$shell = Start-Process powershell -verb runas -Passthru 

passante permette di gusci di uscita con codici di ritorno. Runas verbo corre il guscio elevata.

Altri suggerimenti

ho visto simile con che vi sia una mancanza di uno SPContext attiva. Questo può essere rilevante, ma vale la pena il vostro controllo. C'è una tecnica è possibile utilizzare per creare un involucro che è molto utile (io uso questo in applicazioni console troppo).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a sharepoint.stackexchange
scroll top