Ejecución de scripts VBS a través del paquete de Office 2016

Preguntas sobre paquetes WAPT / Solicitudes y ayuda sobre paquetes WAPT.
Reglas del foro
Reglas del foro de la comunidad
* Soporte en inglés en www.reddit.com/r/wapt
* El soporte de la comunidad en francés está disponible en este foro
* Por favor, anteponga [RESUELTO] al título del tema si está resuelto.
* Por favor, no edite un tema que esté etiquetado como [RESUELTO]. Abra un nuevo tema haciendo referencia al anterior.
* Especifique la versión de WAPT instalada, la versión completa y el número de compilación (2.2.1.11957 / 2.2.2.12337 / etc.), así como la edición Enterprise/Discovery.
* Las versiones 1.8.2 y anteriores ya no son compatibles. Las únicas preguntas aceptadas sobre la versión 1.8.2 están relacionadas con la actualización a una versión compatible (2.1, 2.2, etc.).
* Especifique el sistema operativo del servidor (Linux/Windows) y la versión (Debian Buster/Bullseye - CentOS 7 - Windows Server 2012/2016/2019).
* Especifique el sistema operativo de la máquina de administración/creación de paquetes y de la máquina con el agente problemático, si corresponde (Windows 7/10/11/Debian 11/etc.).
* Evite hacer varias preguntas al abrir un tema, ya que podría ser ignorado. Si hay varios temas, ábralos por separado, preferiblemente uno tras otro y no todos a la vez (es decir, no sature el foro con spam).
* Incluya fragmentos de código, capturas de pantalla y otras imágenes directamente en la publicación. Los enlaces a Pastebin, Bitly y otros sitios de terceros serán eliminados sistemáticamente.
* Como en cualquier foro comunitario, el soporte es proporcionado voluntariamente por los miembros. Si necesita soporte comercial, puede comunicarse con el departamento de ventas de Tranquil IT al 02.40.97.57.55.
Bloqueado
Patrice Minagri
Mensajes: 57
Inscripciones: 21 Oct 2016 - 16:56 horas.

26 de julio de 2018 - 12:32

Hola a todos,

Les escribo porque estoy un poco perdido. Estoy creando un paquete para instalar Office 2016, en el que quiero gestionar la eliminación de versiones anteriores de Office, como 2003, 2007 y 2010, con antelación.

Para realizar esta eliminación, descargué las herramientas Microsoft Fixit para cada versión de Office. Al ejecutar cada herramienta, se crea un archivo VBScript temporal que basta para eliminar las distintas versiones de Office 2003 y otras.

Estos archivos se llaman Offscrub03.vbs (para 2003), Offscrub07.vbs (para 2007), etc.

Para desinstalar completamente los productos, simplemente ingrese el siguiente comando:

Código: Seleccionar todo

cscript Offscrub03.vbs /ALL /Q /NoCancel /BYPASS 1


Este comando funciona perfectamente cuando se ingresa directamente en el símbolo del sistema DOS.

Sin embargo, en el código del paquete WAPT:

Código: Seleccionar todo

run('script "Offscrub03.vbs" /ALL /Q /NoCancel /BYPASS 1')
No funciona. Me aparece el siguiente error:

Código: Seleccionar todo

<RunOuput returncode :0>
"Microsoft (R) Windows Script Host Version 5.8\r\nCopyright (C) Microsoft Corporation 1996-2001. Tous droits r\x82serv\x82s.\r\n\r\nMicrosoft Customer Support Services - Office 2003 Removal Utility\r\n\r\nVersion: 1.39\r\n64 bit OS: Vrai\r\nStart removal: 26/07/2018 10:53:49\r\n\r\nInsufficient registry access permissions - exiting\r\nc:\\Offscrub03.vbs(119, 5) Erreur d'ex\x82cution Microsoft VBScript: Variable non d\x82finie: 'TmpKeyCleanUp'\r\n\r\n"
Estamos hablando por tanto de derechos que serían insuficientes para acceder al registro.

Mi pregunta es esta:
¿Por qué tenemos dos resultados diferentes? En un caso, los derechos no parecen ser un problema y en el otro sí. ¿Hay otra manera de hacerlo?

¡Muchas gracias mis amigos waptianos!
WAPT 1.7.4
Avatar de usuario
vcardón
Experto en WAPT
Mensajes: 272
Inscripciones: 06 Oct 2017 - 22:55 horas.
Ubicación: Nantes, Francia

30 de julio de 2018 - 21:56

Hola Patrice,

tu publicación merece una respuesta porque nos conocemos bien y nos enorgullece que WAPT sea de interés para tu gran y prestigiosa organización (cuya identidad no puedo revelar por respeto a la confidencialidad).

No soy un experto en WAPT, pero te sugiero crear un nuevo paquete de Office 2016 que entre en conflicto con tus paquetes de Office anteriores. Busca "conflicto" en la documentación de WAPT para obtener más información sobre esta función.

Tus paquetes de Office anteriores, si existen, tendrán una clave de desinstalación. Por lo tanto, al ejecutar el paquete WAPT para Office 2016, se desinstalarían las versiones anteriores, ya que entrarían en conflicto con la versión de Office que deseas instalar. De esta forma, no necesitarías depender de un VBS específico de Microsoft. ¡Es genial!

Este método tiene la ventaja adicional de ser más robusto y fácil de administrar a largo plazo.

Cuando todos regresen de vacaciones, hablaremos con el Sr. S. y el Sr. F. de Toulouse, y con el Sr. A. y el Sr. D. de París, para actualizarles a la versión Enterprise, que se ajusta mejor a sus necesidades.

Mientras tanto, que tengan un excelente verano.

Atentamente,

Vincent
Vincent CARDON
Tranquilo IT
Avatar de usuario
htouvet
Experto en WAPT
Mensajes: 436
Inscripción: 16 de marzo de 2015 - 10:48
Contacto :

6 de septiembre de 2018 - 11:26

Parece que el problema es "conocido":
https://social.technet.microsoft.com/Fo...roanterior
Tuve el mismo problema al ejecutar el script con SCCM 2012 en contexto de sistema en Win7. Por alguna razón, la función CheckRegPermissions devuelve falso. Cuando ejecuté el script manualmente con derechos de administrador, funcionó. Incluso funcionó cuando lo intenté con psexec -s \\machine cmd, que inicia un símbolo del sistema en contexto de sistema.

Decidí eliminar el código en CheckRegPermissions. El script ahora funciona bien y hace lo que debería.

Function CheckRegPermissions
CheckRegPermissions = True
End Function 'CheckRegPermissions
TI tranquila
Bloqueado