Frage

Wenn ich versuche, WSP mit der folgenden Zeile zu deinstallieren, ist alles in Ordnung:

Uninstall-SPSolution project.wsp # no error - OK

Wenn ich versuche, switch parameter -AllWebApplications hinzuzufügen, erhalte ich eine Fehlermeldung (so etwas wie diese Lösung enthält keine Ressourcen für den Webanwendungsbereich), was auch in Ordnung ist:

Uninstall-SPSolution project.wsp -AllWebApplications # error X - OK

ABER wenn ich diesen Schalterparameter mit FALSCHEM Wert hinzufüge, erhalte ich eine Fehlermeldung (wie oben), was falsch ist, nicht wahr?

Uninstall-SPSolution project.wsp -AllWebApplications:$false # error X again - WRONG

Es sieht so aus, als hätte sich an der vorherigen Zeile nichts geändert, aber es sollte...


Auf andere Weise:Meine Lösung brauche ich NICHT AllWebApplication parameter, aber ich möchte es explizit ausschalten (dh - geben Sie es mit FALSCHEM Wert an).

Frage ist:Wie kann ich diesen Schalterparameter als FALSCH angeben?


Mir ist gerade aufgefallen, dass dies mit dem Cmdlet nicht passiert Install-SPSolution.

War es hilfreich?

Lösung

Es scheint, als ob Install-SPSolution und Uninstall-SPSolution von zwei verschiedenen Entwicklern (oder zumindest zu unterschiedlichen Zeiten) geschrieben wurden

Beide Befehle haben das Potenzial, entweder nein, eine einzelne oder alle Webanwendungen zu akzeptieren, wie sie mit diesen Optionen umgehen, sind sehr unterschiedlich.

Installieren-SPSolution
Dies ist die gut codierte, auf der die Entscheidung basiert:

  • Überprüfen Sie, ob in der Webanwendung ein Wert ungleich Null vorliegt. In diesem Fall wird geprüft, ob alle Webanwendungen wahr sind. Wenn dies der Fall ist, handelt es sich um einen Fehler, wenn nicht, um eine einzelne Webanwendung
  • wenn nicht single, prüft es, ob der SwitchParameter AllWebApplications wahr ist, wenn ja, sind es alle WebApps
  • wenn nicht, dann sind es keine WebApps

Deinstallation-SPSolution:

Hat den beiden Parametern unterschiedliche Parametersätze zugewiesen, dh Sie können nicht sowohl -WebApplication als auch -AllWebApplications unabhängig von den Werten angeben, da es dann nicht entscheiden kann, welchen Parametersatz Sie meinen.

Und dann zu "Deinem Käfer" anstatt nach dem Wert von -AllWebApplications zu suchen, prüfen sie einfach, ob das Parameterset "AllWebApplication" ist, wenn ja, ignorieren sie jeden von Ihnen angegebenen Wert und nehmen einfach true an

Andere Tipps

Es sollte funktionieren, indem -confirm auf 0 oder false gesetzt wird.

Aus allen Webanwendungen:

Uninstall-SPSolution yousolutionname.wsp -AllWebApplications -Confirm:$false

Aus einer bestimmten Webanwendung:

Uninstall-SPSolution -Identity yousolutionname.wsp -Confirm:0 -Webapplication $url
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit sharepoint.stackexchange
scroll top