Re : Quelqu'un gère-t-il les compléments à l'aide d'un script ou d'un outil centralisé ? Peut-être un script PowerShell via Microsoft System Center Configuration Manager (SCCM) ?Bonjour, @ih .
La réponse à votre question pourrait-elle être abordée dans ce fil?
https://community.jmp.com/t5/JMP-Scripts/How-to-write-self-updating-JMP-add-ins/ta-p/21932/
Re : Quelqu'un gère-t-il les compléments à l'aide d'un script ou d'un outil centralisé ? Peut-être un script PowerShell via Microsoft System Center Configuration Manager (SCCM) ?Je me suis finalement mis à travailler dessus.Comme décrit dans la section Ajout de fichiers personnalisés à un dépôt de logiciels du guide de déploiement , le dossier ProgramData facilite leur automatisation car chaque fois que JMP se lance, il regarde dans ces dossiers.(Merci @Bobby_Riggs car m'a indiqué ce dossier.) Ainsi, un script PowerShell a juste besoin de mettre à jour ces dossiers pour installer des compléments et définir les préférences utilisateur par défaut.
Voici un brouillon de script qui installe les compléments, installe le fichier de licence, puis définit l'emplacement du fichier de licence dans les préférences utilisateur :
# 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")
Notez que dans mon cas, je voulais également définir les préférences utilisateur par défaut pour ces compléments, je le fais avec un script powershell qui s'exécute à la connexion. Si je dois supprimer entièrement un complément, je le ferais également dans ce script.
Re : Quelqu'un gère-t-il les compléments à l'aide d'un script ou d'un outil centralisé ? Peut-être un script PowerShell via Microsoft System Center Configuration Manager (SCCM) ?Qu'à cela ne tienne, je viens de relire votre message - désolé !
Re : Quelqu'un gère-t-il les compléments à l'aide d'un script ou d'un outil centralisé ? Peut-être un script PowerShell via Microsoft System Center Configuration Manager (SCCM) ?Je n'ai pas (encore) poussé de compléments ou de fonctions personnalisées (seraient très probablement également intégrés dans un complément) aux PC des utilisateurs, mais je le ferai très probablement à l'avenir.
Quelques problèmes possibles qui me viennent à l'esprit :
- Si les utilisateurs disposent de différentes versions de JMP dans votre organisation, certains compléments peuvent ne pas fonctionner
- Plusieurs utilisateurs sur l'ordinateur
- Selon la façon dont les compléments seront installés, mettre à jour tous les fichiers .xml et ainsi de suite afin qu'ils soient visibles dans les menus (je pense que addinRegistry.xml au moins) (l'installation silencieuse est-elle possible à l'aide de JMP à partir de comman-dline/powershell ?)
Actuellement, je partage des compléments avec un script JSL, qui obtiendra les compléments à partir d'un emplacement spécifique et l'utilisateur accepte ensuite les installations (les compléments sont mis à jour automatiquement après l'installation et le même jsl d'installation peut également être utilisé pour mettre à jour eux). Cela fonctionne actuellement pour mon cas d'utilisation, mais je devrai également comprendre comment pousser des compléments à un moment donné, alors surveillez attentivement ce sujet pour de bonnes idées.
Quelqu'un gère-t-il les compléments à l'aide d'un script ou d'un outil centralisé ? Peut-être un script PowerShell via Microsoft System Center Configuration Manager (SCCM) ?Quelqu'un gère-t-il l'installation ou les mises à jour des compléments via des scripts ou via un outil central ?Je ne fais pas référence aux compléments qui se mettent à jour eux-mêmes, mais plutôt à un outil permettant de s'assurer que tout le monde a installé le complément xyz version 2.0.J'envisage d'installer et de mettre à jour automatiquement une liste spécifique de compléments via un script PowerShell déployé via SCCM et je me demande si quelqu'un est prêt à partager son expérience, ses conseils ou les obstacles rencontrés.
Automatisation et script