Re: ¿Alguien administra complementos mediante un script o una herramienta centralizada? ¿Quizás un script de PowerShell a través de Microsoft System Center Configuration Manager (SCCM)?Hola, @ih .
¿La respuesta a tu pregunta podría ser abordada en este hilo?
https://community.jmp.com/t5/JMP-Scripts/How-to-write-self-updating-JMP-add-ins/ta-p/21932/
Re: ¿Alguien administra complementos mediante un script o una herramienta centralizada? ¿Quizás un script de PowerShell a través de Microsoft System Center Configuration Manager (SCCM)?Finalmente me puse a trabajar en esto.Como se describe en la sección Adición de archivos personalizados a un almacén de software del guía de implementación , la carpeta ProgramData facilita la automatización de estos, ya que cada vez que se inicia JMP, se busca en esas carpetas.(Gracias @Bobby_Riggs for me señaló esa carpeta). Por lo tanto, un script de PowerShell solo necesita actualizar esas carpetas para instalar complementos y establecer preferencias de usuario predeterminadas.
Aquí hay un borrador de secuencia de comandos que instala complementos, instala el archivo de licencia y luego establece la ubicación del archivo de licencia en las preferencias del usuario:
# Instructions:
# Load add-ins and license files to the location spcified with SourceDir below.
#
# These files should be in that directory:
# JMPOSIPITools.jmpaddin
# JMPScriptingTools v1.16.jmpaddin
# JMPValidation.jmpaddin
# JMP.PER
#
# The jmp.per file can be copied from another installation, or created using the license update tool that is installed with JMP.
# Run this script in powershell
#Set location where add-ins and the license file are available, can be a network drive
$SourceDir = "C:\Temp\JMPInstallSource"
# JMP Install Directory
$InstallDir = "C:\Program Files\SAS\JMPPRO\17"
#Load the License File
$LicenseFile = $InstallDir+"\jmp.per"
Copy-Item $SourceDir"\jmp.per" $LicenseFile -Force
# Create directories if needed
New-Item -Path $Env:ALLUSERSPROFILE"/SAS" -ItemType Directory -Force
New-Item -Path $Env:ALLUSERSPROFILE"/SAS/JMPPRO" -ItemType Directory -Force
New-Item -Path $Env:ALLUSERSPROFILE"/SAS/JMPPRO/17" -ItemType Directory -Force
$AddinDir = $Env:ALLUSERSPROFILE+"/SAS/JMPPRO/addins"
New-Item -Path $AddinDir -ItemType Directory -Force
# Create preferences file that links to the license file
$fn = $Env:ALLUSERSPROFILE+"/SAS/JMPPRO/17/JMP.PFS"
New-Item -Force $fn
Set-Content $fn "Preferences(
File Location Settings(
License File Path( $LicenseFile )
)
);"
#procedure to unzip an add-in and load it in the shared folder
function LoadAddin {
param(
$name
)
Copy-Item $SourceDir"\"$name".jmpaddin" $Env:temp"\"$name".zip" -Force
New-Item -Path $AddinDir"\"$name"" -ItemType Directory -Force
Expand-Archive $Env:temp"\"$name".zip" -DestinationPath $AddinDir"\"$name"" -Force
}
#Load each add-in
LoadAddin("JMPOSIPITOOLS")
LoadAddin("JMPScriptingTools v1.16")
LoadAddin("JMPValidation")
Tenga en cuenta que, en mi caso, también quería establecer preferencias de usuario predeterminadas para esos complementos, lo estoy haciendo con un script de PowerShell que se ejecuta al iniciar sesión. Si necesito eliminar un complemento por completo, también lo haría en este script.
Re: ¿Alguien administra complementos mediante un script o una herramienta centralizada? ¿Quizás un script de PowerShell a través de Microsoft System Center Configuration Manager (SCCM)?No importa, acabo de volver a leer tu mensaje, ¡lo siento!
Re: ¿Alguien administra complementos mediante un script o una herramienta centralizada? ¿Quizás un script de PowerShell a través de Microsoft System Center Configuration Manager (SCCM)?No he enviado (todavía) ningún complemento o función personalizada (lo más probable es que también esté incluido en un complemento) a las PC de los usuarios, pero lo más probable es que lo haga en el futuro.
Algunos posibles problemas que se me ocurren:
- Si los usuarios tienen diferentes versiones de JMP en su organización, es posible que algunos complementos no funcionen.
- Múltiples usuarios en la computadora
- Dependiendo de cómo se instalarán los complementos, actualice todos los archivos .xml y demás para que sean visibles en los menús (creo que al menos addinRegistry.xml) (¿es posible la instalación silenciosa usando JMP de command-dline/powershell?)
Actualmente estoy compartiendo complementos con un script JSL, que obtendrá los complementos de una ubicación específica y luego el usuario acepta las instalaciones (los complementos se actualizan automáticamente después de la instalación y la misma instalación jsl también se puede usar para actualizar a ellos). Actualmente, esto funciona para mi caso de uso, pero también tendré que descubrir cómo insertar complementos en algún momento, así que vigilo este tema de cerca para obtener buenas ideas.
¿Alguien administra complementos usando un script o una herramienta centralizada? ¿Quizás un script de PowerShell a través de Microsoft System Center Configuration Manager (SCCM)?¿Alguien está administrando la instalación de complementos o las actualizaciones a través de scripts o mediante alguna herramienta central?No me refiero a los complementos que se actualizan solos, sino a una herramienta para garantizar que todos tengan instalado el complemento xyz versión 2.0.Estoy considerando instalar y actualizar automáticamente una lista específica de complementos a través de un script de PowerShell implementado a través de SCCM y me pregunto si alguien está dispuesto a compartir su experiencia, consejos u obstáculos que encontraron.
Automatización y secuencias de comandos