PowerShell-Sharepoint-Cache löschen?

9

Ich habe ein seltsames Problem:

Ich habe ein WSP-Paket mit Stuff und einer Site-Vorlage mit PowerShell

bereitgestellt %Vor%

Wenn Sie jetzt versuchen, eine neue Websitesammlung zu erstellen, ist meine Vorlage sichtbar, und ich kann mit meiner Vorlage eine neue Websitesammlung erstellen.

Wenn ich versuche, alle installierten Site-Vorlagen mit PowerShell ( Get-SPWebTemplate ) in der gleichen Sitzung wie zuvor zu sehen , wird die neue Vorlage nicht angezeigt!

Dasselbe gilt umgekehrt: Wenn ich die Lösung zurückziehe / lösche, kann ich mit der Vorlage keine neue Websitesammlung mehr erstellen, da sie verschwunden ist. In der noch geöffneten PowerShell-Sitzung ist die Vorlage jedoch weiterhin sichtbar.

Die einzige Lösung: Öffnen Sie eine neue PowerShell-Sitzung, nachdem die Lösung zurückgezogen / bereitgestellt wurde - nur in dieser "neuen" Sitzung werden die Änderungen synchronisiert.

Meine Frage lautet: Wie lösche ich diesen PowerShell-Cache? Wie hole ich die Site-Vorlagenliste direkt vom Server und nicht von einem Cache?

Ein anderer Typ ist auch gekommen, PowerShell zu schließen / wieder zu öffnen ( PowerShell-Caching führt zu Headbanging ) - das kann nicht die Lösung sein ...

Haftungsausschluss: Crosspost von " So löschen Sie den PowerShell-Objektmodell-Cache ".

    
Dennis G 22.02.2011, 13:26
quelle

2 Antworten

4

Stellt sich heraus, dass PowerShell tatsächlich einige Dinge zwischenspeichert, insbesondere OWSSVR.DLL .

Es gibt zwei (und ½) Möglichkeiten, das Problem zu lösen:

  1. Verwenden Sie ein raffiniertes PowerShell-Snippet, um einen Sharepoint-Thread zu beenden Laden Sie eine DLL neu
  2. Verwenden Sie eine andere PowerShell-Sitzung, die innerhalb der ersten Sitzung gestartet wurde
  3. Verwenden Sie old-school stsadm, um die Site zu erstellen, da sich stsadm in einem anderen Thread befindet und daher die neuen Site-Vorlagen bereits "sieht"

Ich ging mit der Methode 2 ½ (mit 3 bezeichnet), da es am einfachsten ist, einen stacks einzeiliger stsadm zu verwenden, anstatt eine weitere PS-Sitzung aufzurufen.

    
Dennis G 25.02.2011, 15:49
quelle
0

Ich kann von hier aus nicht überprüfen, aber es hat möglicherweise etwas damit zu tun, dass das Web in der aktuellen "Auftragssammlung" zwischengespeichert wird. Sehen Sie sich die Befehle Start und Stop-SPAsignment an. Ich bin mir nicht sicher, was das Standardzuordnungsmodell ist, aber ich würde versuchen, "Stop-SPAssignment; Start-SPAsignment" auszuführen, um zu sehen, ob das aktuelle zwischengespeicherte SPWeb, das zum Abrufen von Vorlagen verwendet wird, gelöscht wird.

-Oisin

    
x0n 22.02.2011 15:01
quelle

Tags und Links