Question

J'ai un assemblage personnalisé qui contient le code à des variations de configuration pour un site de publication SharePoint 2010. Ce code est basé sur un blog de Waldek

J'ai un script PowerShell dans lequel je crée une nouvelle WebApplication et SiteCollection, je puis charger l'ensemble mon habitude et tenter d'invoquer des méthodes permettant l'installation des variations. Le problème est que la propriété CurrentUser du SPWeb (rootweb) Je suis en train de travailler avec des retours nulle, ce qui est la cause sous-jacente de l'accès est refusé erreur que je reçois.

Si je décompose cela en deux scripts, l'un pour faire la création et à appeler le code personnalisé, cela fonctionne, à condition que je les appelle à la fois de manière interactive. Si je les envelopper dans un script parent seul qui appelle chacun d'eux à son tour je suis de retour à la CurrentUser étant nulle.

Pour mon usage nécessaire je en ai besoin de travailler dans le cadre d'un seul script d'installation sans assistance.

Quelqu'un at-il vu ceci ou simialr quelque chose? Ou avez-vous des idées sur la façon dont je pourrais résoudre ce problème?

Était-ce utile?

La solution

La façon dont vous décrivez cela, cela ressemble à un problème de mise en cache, depuis PowerShell repose en grande partie sur la mise en cache.

J'évite dans mes scripts d'approvisionnement par les nouveaux processus PowerShell fraie à la volée de ma console principale. Cela peut également être utilisé pour faire en sorte que les coquilles sont appelés en tant qu'administrateur, lorsque l'UAC est activé:

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

PassThru permet de coquilles de sortie avec des codes de retour. Runas verbe court le shell élevé.

Autres conseils

J'ai vu même avec l'existence d'un manque d'un SPContext actif. Cela peut être utile, mais vaut votre contrôle. Il y a une technique vous pouvez utiliser pour créer un emballage qui est très utile (j'utiliser dans des applications de la console aussi).

Licencié sous: CC-BY-SA avec attribution
Non affilié à sharepoint.stackexchange
scroll top