Ri: Qualcuno gestisce i componenti aggiuntivi utilizzando uno script o uno strumento centralizzato? Forse uno script PowerShell tramite Microsoft System Center Configuration Manager (SCCM)?Ciao, @ih .
La risposta alla tua domanda potrebbe essere affrontata in questo thread?
https://community.jmp.com/t5/JMP-Scripts/How-to-write-self-updating-JMP-add-ins/ta-p/21932/
Ri: Qualcuno gestisce i componenti aggiuntivi utilizzando uno script o uno strumento centralizzato? Forse uno script PowerShell tramite Microsoft System Center Configuration Manager (SCCM)?Finalmente sono riuscito a lavorare su questo.Come descritto nella sezione Aggiunta di file personalizzati a un deposito software del file guida alla distribuzione , la cartella ProgramData rende l'automazione piuttosto semplice poiché ogni volta che JMP si avvia cerca in quelle cartelle.(Grazie @Bobby_Riggs for mi ha indicato quella cartella.) Pertanto, uno script PowerShell deve solo aggiornare quelle cartelle per installare i componenti aggiuntivi e impostare le preferenze utente predefinite.
Ecco una bozza di script che installa i componenti aggiuntivi, installa il file di licenza e quindi imposta la posizione del file di licenza nelle preferenze dell'utente:
# 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")
Nota che nel mio caso volevo anche impostare le preferenze utente predefinite per quei componenti aggiuntivi, lo sto facendo con uno script PowerShell che viene eseguito all'accesso. Se devo rimuovere completamente un componente aggiuntivo, lo farei anche in questo script.
Ri: Qualcuno gestisce i componenti aggiuntivi utilizzando uno script o uno strumento centralizzato? Forse uno script PowerShell tramite Microsoft System Center Configuration Manager (SCCM)?Non importa, ho appena riletto il tuo messaggio - scusa!
Ri: Qualcuno gestisce i componenti aggiuntivi utilizzando uno script o uno strumento centralizzato? Forse uno script PowerShell tramite Microsoft System Center Configuration Manager (SCCM)?Non ho (ancora) inviato alcun componente aggiuntivo o funzione personalizzata (molto probabilmente verrebbe anche inserito nel componente aggiuntivo) sui PC degli utenti, ma molto probabilmente lo farò in futuro.
Alcuni possibili problemi che mi vengono in mente:
- Se gli utenti dispongono di versioni diverse di JMP nell'organizzazione, alcuni componenti aggiuntivi potrebbero non funzionare
- Più utenti sul computer
- A seconda di come verranno installati i componenti aggiuntivi aggiornando tutti i file .xml e così via in modo che siano visibili nei menu (penso almeno addinRegistry.xml) (è possibile l'installazione silenziosa utilizzando JMP da command-dline/powershell?)
Attualmente sto condividendo componenti aggiuntivi con uno script JSL, che otterrà i componenti aggiuntivi da una posizione specifica e l'utente accetterà quindi le installazioni (i componenti aggiuntivi si aggiornano automaticamente dopo l'installazione e lo stesso jsl di installazione può essere utilizzato anche per aggiornare loro). Questo attualmente funziona per il mio caso d'uso, ma a un certo punto dovrò anche capire come inviare componenti aggiuntivi, quindi osserva attentamente questo argomento per avere buone idee.
Qualcuno gestisce i componenti aggiuntivi utilizzando uno script o uno strumento centralizzato? Forse uno script PowerShell tramite Microsoft System Center Configuration Manager (SCCM)?Qualcuno gestisce l'installazione o gli aggiornamenti dei componenti aggiuntivi tramite script o tramite uno strumento centrale?Non mi riferisco ai componenti aggiuntivi che si aggiornano da soli, ma piuttosto a uno strumento per garantire che tutti abbiano installato il componente aggiuntivo xyz versione 2.0.Sto valutando la possibilità di installare e aggiornare automaticamente un elenco specifico di componenti aggiuntivi tramite uno script PowerShell distribuito tramite SCCM e mi chiedo se qualcuno sia disposto a condividere la propria esperienza, i consigli o gli ostacoli incontrati.
Automazione e scripting