Domanda

Quando provo a disinstallare WSP con la seguente riga, tutto è OK:

Uninstall-SPSolution project.wsp # no error - OK
.

Quando provo ad aggiungere il parametro dell'interruttore -AllWebApplications, ottengo errori (qualcosa come questa soluzione non contiene risorse per l'ambito dell'applicazione Web), che è anche fine:

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

Ma, quando aggiungo quel parametro dell'interruttore con il valore falso, ottengo errori (come sopra), che è sbagliato, non è vero?

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

Sembra che nulla sia cambiato dalla linea prima di questo, ma dovrebbe ...


.

In un altro modo: la mia soluzione non ha bisogno del parametro AllWebApplication, ma voglio spegnerlo esplicitamente (significato - specificarlo con valore falso).

Domanda è: come posso specificare questo parametro interruttore come falso?


.

Ho appena notato che questo non sta accadendo con il cmdlet Install-SPSolution.

È stato utile?

Soluzione

Sembra che Install-Spsolution e Disinstall-Spsolation siano stati scritti da due diversi sviluppatori (o almeno in tempi diversi)

Entrambi i comandi hanno il potenziale di accettare né, una singola o tutte le applicazioni Web come si occupano di queste opzioni sono silenziose.

install-spsolution
Questo è il modo ben codificato, dove la decisione è basata su:

    .
  • Verifica se ha ottenuto un valore non null in WebApplication, se è così che controlla per tutti iWABAPlications è vero se è quindi è un errore, se non è un singolo webapp
  • Se non single, controlla se il commutatore di switchparameter è vero, se è così che sono tutte webapps
  • In caso contrario, non sono webapps

    Uninstall-Spsolution:

    ha assegnato diversi parametri a parametri ai due parametri, il che significa che non è possibile specificare sia -WebApplication e -AllWeBapplications indipendentemente dai valori in quanto non può decidere quale parameterset significhi.

    e quindi a "il tuo bug" invece di controllare il valore di -AllWaBapplicazioni, controllano solo se il parameterset è "AllWeBapplication" se è così ignorando qualsiasi valore specificato e semplicemente assume il vero .

Altri suggerimenti

Dovrebbe funzionare impostando -confirm a 0 o false.

Da tutte le applicazioni Web:

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

Da una specifica applicazione Web:

Uninstall-SPSolution -Identity yousolutionname.wsp -Confirm:0 -Webapplication $url
.

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