Betreff: Verwaltet jemand Add-Ins mit einem Skript oder einem zentralisierten Tool? Vielleicht ein PowerShell-Skript über Microsoft System Center Configuration Manager (SCCM)?Hallo, @ich h .
Könnte die Antwort auf Ihre Frage in diesem Thread behandelt werden?
https://community.jmp.com/t5/JMP-Scripts/How-to-write-self-updating-JMP-add-ins/ta-p/21932/
Betreff: Verwaltet jemand Add-Ins mithilfe eines Skripts oder eines zentralen Tools? Vielleicht ein PowerShell-Skript über Microsoft System Center Configuration Manager (SCCM)?Endlich habe ich es geschafft, daran zu arbeiten.Wie im Abschnitt „Hinzufügen benutzerdefinierter Dateien zu einem Software-Depot“ beschrieben Bereitstellungsanleitung , macht der Ordner „ProgramData“ die Automatisierung ziemlich einfach, da JMP jedes Mal, wenn es gestartet wird, in diesen Ordnern nachschaut.(Danke @Bobby_Riggs (for hat mich auf diesen Ordner hingewiesen.) Daher muss ein PowerShell-Skript nur diese Ordner aktualisieren, um Add-Ins zu installieren und Standardbenutzereinstellungen festzulegen.
Hier ist ein Skriptentwurf, der Add-Ins installiert, die Lizenzdatei installiert und dann den Speicherort der Lizenzdatei in den Benutzereinstellungen festlegt:
# 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")
Beachten Sie, dass ich in meinem Fall auch Standardbenutzereinstellungen für diese Add-Ins festlegen wollte. Ich mache das mit einem Powershell-Skript, das beim Anmelden ausgeführt wird. Wenn ich ein Add-In vollständig entfernen muss, würde ich das auch in diesem Skript tun.
Betreff: Verwaltet jemand Add-Ins mithilfe eines Skripts oder eines zentralen Tools? Vielleicht ein PowerShell-Skript über Microsoft System Center Configuration Manager (SCCM)?Egal, ich habe deine Nachricht gerade noch einmal gelesen – Entschuldigung!
Betreff: Verwaltet jemand Add-Ins mithilfe eines Skripts oder eines zentralen Tools? Vielleicht ein PowerShell-Skript über Microsoft System Center Configuration Manager (SCCM)?Ich habe (noch) keine Add-Ins oder benutzerdefinierten Funktionen (die höchstwahrscheinlich auch in Add-Ins enthalten wären) auf die PCs der Benutzer übertragen, werde dies aber höchstwahrscheinlich in Zukunft tun.
Einige mögliche Probleme, die mir in den Sinn kommen:
- Wenn Benutzer in Ihrer Organisation über unterschiedliche JMP-Versionen verfügen, funktionieren einige Add-Ins möglicherweise nicht
- Mehrere Benutzer auf dem Computer
- Abhängig davon, wie die Add-Ins installiert werden, werden alle .xml-Dateien usw. aktualisiert, sodass sie in Menüs sichtbar sind (ich denke, zumindest addinRegistry.xml) (ist eine unbeaufsichtigte Installation mit JMP über die Befehlszeile/Powershell möglich?)
Derzeit teile ich Add-Ins mit einem JSL-Skript, das die Add-Ins von einem bestimmten Speicherort abruft und der Benutzer dann die Installationen akzeptiert (Add-Ins werden nach der Installation automatisch aktualisiert und die gleiche Installations-JSL kann auch zum Aktualisieren verwendet werden ihnen). Das funktioniert derzeit für meinen Anwendungsfall, aber irgendwann muss ich auch herausfinden, wie man Add-Ins pusht, also schaue mir dieses Thema genau an, um gute Ideen zu finden.
Verwaltet jemand Add-Ins mithilfe eines Skripts oder eines zentralen Tools? Vielleicht ein PowerShell-Skript über Microsoft System Center Configuration Manager (SCCM)?Verwaltet jemand die Installation oder Aktualisierung von Add-Ins über Skripte oder ein zentrales Tool?Ich beziehe mich nicht auf die Selbstaktualisierung von Add-Ins, sondern auf ein Tool, das sicherstellt, dass jeder das Add-In xyz Version 2.0 installiert hat.Ich denke über die automatische Installation und Aktualisierung einer bestimmten Liste von Add-Ins über ein über SCCM bereitgestelltes PowerShell-Skript nach und frage mich, ob jemand bereit ist, seine Erfahrungen, Ratschläge oder aufgetretenen Hindernisse mitzuteilen.
Automatisierung und Skripterstellung