Pregunta

Cuando intento desinstalar WSP con la siguiente línea, todo está bien:

Uninstall-SPSolution project.wsp # no error - OK

Cuando intento agregar parámetro modificador -AllWebApplications, tengo un error (algo como Esta solución no contiene todos los recursos de la Web el ámbito de la Aplicación), que también está bien:

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

PERO, cuando debo agregar que el interruptor de parámetro con el valor FALSE, tengo un error (igual que el anterior), lo cual está mal, ¿no?

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

Parece que nada ha cambiado desde la línea antes de esto, pero debería...


De otra manera:Mi solución NO necesita AllWebApplication parámetro, pero quiero explícitamente desactivarlo (significado - especificar con valor FALSE).

La pregunta es:¿Cómo puedo especificar este parámetro modificador como FALSAS?


Me di cuenta de que esto no está sucediendo con cmdlet Install-SPSolution.

¿Fue útil?

Solución

Parece como si Instalar-SPSolution y Desinstalar-SPSolution ha sido escrito por dos distintos desarrolladores (o, al menos, en diferentes momentos)

Ambos comandos tienen el potencial de aceptar o no, una sola o todas WebApplications cómo lidiar con esta opción son tranquilas diferentes.

Instalar-SPSolution
Este es el bien codificado, donde la decisión se base en:

  • Revise para ver si tiene un no valor null en la aplicación web, si es así, se comprueba AllWebApplications ser cierto si es así, es un error, si no es una sola WebApp
  • si no, comprueba para ver si el SwitchParameter AllWebApplications es cierto, si es tan todo WebApps
  • si no, entonces no WebApps

Desinstalar-SPSolution:

Se ha asignado diferentes parametersets a los dos parámetros, que significa que usted no puede especificar tanto -WebApplication y AllWebApplications independientemente de los valores, pues no puede decidir que parameterset que quieres decir.

Y, a continuación, a "Su error" en lugar de comprobar el valor de AllWebApplications se acaba de comprobar si el parameterset es "AllWebApplication", si así se ignorará cualquier valor especificado y se asume que la verdadera

Otros consejos

Se debe trabajar por el establecimiento de confirmar a 0 o false.

De todas las aplicaciones web:

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

A partir de una aplicación web específica:

Uninstall-SPSolution -Identity yousolutionname.wsp -Confirm:0 -Webapplication $url
Licenciado bajo: CC-BY-SA con atribución
scroll top