Bereitstellungs-Tool
- Aktualisiert2026-09-10
- 4 Minute(n) Lesezeit
Verwenden Sie das Provisioning-Tool, um die erforderlichen Einstellungen für die Jupyter- und NotebookExecution-Dienste durchzuführen.
- Erstellt oder aktualisiert die Benutzerkonten.
- Wendet alle erforderlichen Berechtigungen an.
- Erstellt die Jupyter-Profilverzeichnisstruktur für fehlende Unterverzeichnisse neu.Hinweis Beispielsweise fehlt möglicherweise ein Verzeichnis in der Verzeichnishierarchie ProgramData\National Instruments\Skyline\JupyterHub\profile.
Das NIPM-Installationsprogramm führt das Provisioning-Tool automatisch aus. Starten Sie das Tool manuell, um Passwörter zu rotieren, die Funktionalität nach einer Reparatur sicherzustellen oder Profilverzeichnisse wiederherzustellen.
Das Bereitstellungs-Tool wendet die folgenden Zugriffsrechte und Verweigerungsrechte auf die Gruppe SystemLinkNotebooks an.
| Pfad | Rechte |
|---|---|
| %ProgramData%\National Instruments\Skyline\JupyterHub | Ändert die Rechte für Jupyter-Profilverzeichnisse und Runtime-Dateien. |
| %ProgramFiles%\National Instruments\Shared\Skyline\Python | Liest und führt den gesamten Inhalt einschließlich der Versionsunterordner aus. Das Provisioning-Tool arbeitet beispielsweise mit dem Unterordner 3.8\. Fehlende Schreibrechte blockieren den Befehl pip install. |
| Pfad | Rechte |
|---|---|
| %ProgramFiles%\National Instruments\Shared\Web Server | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\Config | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\HttpConfigurations | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\Install | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\KeyValueDatabase | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\Logs | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\NoSqlDatabase | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\PostgreSQLDatabase | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\Python | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\RabbitMQ | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\SkylineConfigurations | Volle Kontrolle |
| %ProgramData%\National Instruments\SystemLink TDM Index | Volle Kontrolle |
| %ProgramData%\National Instruments\TDM Server | Volle Kontrolle |
| %ProgramData%\National Instruments\Skyline\Data | Schreiben. Dieser Pfad behält die Lese- und Ausführungsberechtigungen der Mitgliedschaft Benutzer bei. |
| %ProgramData%\National Instruments\Skyline\JupyterHub\profile\AppData\Roaming\Python | Schreiben. Dieser Pfad blockiert den Befehl pip install --user. |
Die Verweigerungsregeln für Dienstverzeichnisse überschreiben den Lesezugriff, den Konten von der Gruppe "Benutzer" erhalten. Zu diesen Verzeichnissen gehören Konfigurieren und Protokolle. Per Voreinstellung hat die Gruppe Benutzer Lesezugriff und Ausführungszugriff auf die meisten Verzeichnisse von %ProgramData%.
Die Schreibverweigerungsregel für %ProgramData%\National Instruments\Skyline\JupyterHub\profile\AppData\Roaming\Python überschreibt das von JupyterHub abgeleitete Recht "Ändern". Regeln sind idempotent und gelten für die Gruppe SystemLinkNotebooks. Diese Regeln wirken sich nicht auf andere Konten aus.
Syntax zum Ausführen des Bereitstellungs-Tools
Zum Ausführen des Provisioning-Tools müssen Sie die folgende Syntax verwenden.
NINotebookUserSetupCmd.exe --username <name> --service <jupyterhub|notebookexecution> [options] Required: --username <name> Windows local account name to create or update --service <jupyterhub|notebookexecution> Target service for credential storage Optional: --password <pwd> Use a specific password (default: auto-generate 32 chars) --hide-from-login Hide the account from the Windows login screen
Gängige PowerShell-Operationen für das Bereitstellungs-Tool
Verwenden Sie je nach Ziel die folgenden Powershell-Operationen mit dem Provisioning-Tool.
| Ziel | Powershell-Operation |
|---|---|
| Erstellen oder aktualisieren Sie beide Konten | Hinweis Diese Operation funktioniert ähnlich wie das Installationsprogramm. $exe = "$env:ProgramFiles\National Instruments\Shared\Skyline\NINotebookUserSetupCmd.exe" & $exe --username SystemLinkJupyterHub --service jupyterhub --hide-from-login & $exe --username SystemLinkNotebookEx --service notebookexecution --hide-from-login Hinweis Wenn das Provisioning-Tool keinen Benutzer erstellen kann, verwenden Sie einen anderen Benutzernamen mit dem Argument --username. SystemLink erlaubt eine maximale Benutzernamenlänge von 20 Zeichen. |
| Passwort für JupyterHub-Benutzer drehen | & $exe --username SystemLinkJupyterHub --service jupyterhub --password "<user-provided-password>" Hinweis Nach dem Rotieren eines Passworts müssen Sie SystemLink-Dienste neu starten. Lösen Sie einen Systemneustart aus der Anwendung SystemLink Server Configuration aus. |
| Verwenden Sie ein automatisch generiertes Passwort für den NotebookExecution-Dienst. | Hinweis Dieser Vorgang verschlüsselt und speichert das Passwort in der Dienstkonfiguration. & $exe --username SystemLinkNotebookEx --service notebookexecution |
Beheben von Provisionierungsfehlern
Wenn das Provisioning-Tool fehlschlägt, werden die von den bereitgestellten Konten abhängigen Dienste nicht ordnungsgemäß gestartet.
- NotebookExecution – Zeigt den Fehler mit einem Fehlerzustand in der Anwendung "SystemLink Server Configuration" an.
- JupyterHub—Listet den Fehler unter Dienste mit Fehlern auf. Die Fehlermeldung in der Benutzeroberfläche ist in der Regel allgemein und identifiziert den Fehler nicht als Provisioning-Fehler.
Die genaue Ursache des Fehlers finden Sie in der Bereitstellungs-Protokolldatei unter %ProgramData%\National Instruments\Skyline\Logs\notebookUserSetup.log
Das Provisioning-Tool protokolliert eine [FATAL]-Zeile, die den spezifischen Fehler beschreibt. Beispielsweise kann die Zeile einen Kontonamenkonflikt oder einen Zugriffsfehler beschreiben.
Sie können das Provisioning-Tool auch manuell starten, um die Ausgabe direkt in PowerShell anzuzeigen.
$exe = "$env:ProgramFiles\National Instruments\Shared\Skyline\NINotebookUserSetupCmd.exe" & $exe --username SystemLinkJupyterHub --service jupyterhub --hide-from-login Write-Host "Exit code: $LASTEXITCODE"
Führen Sie je nach Fehler folgende Schritte aus:
| Fehler | Lösung | |
|---|---|---|
| Es fehlen Profilverzeichnisse |
Wenn Unterverzeichnisse im Jupyter-Profilverzeichnis fehlen, werden Kernel möglicherweise nicht gestartet. Alternativ können die Kernel FileNotFoundError ausgeben. Beispiel-Unterverzeichnisse sind AppData, ipython und jupyter. Diese Unterverzeichnisse fehlen möglicherweise nach einem manuellen Löschen oder einem Installationsfehler. Ein weiteres Symptom ist ein Notebook, das scheinbar ausgeführt wird, aber keine Ausgabe erzeugt. Dieses Problem kann auftreten, wenn der Kernel die Verbindungsdatei nicht in JUPYTER_RUNTIME_DIR unter profile\jupyter\runtime schreiben kann. Der Kernel-Prozess wird gestartet, aber das Frontend kann keine Verbindung zum Kernel herstellen. Daher liefert das System niemals die Zellenausgabe. Führen Sie das Provisioning-Tool in Powershell erneut als Administrator für beide Dienste aus. $exe = "$env:ProgramFiles\National Instruments\Shared\Skyline\NINotebookUserSetupCmd.exe" & $exe --username SystemLinkJupyterHub --service jupyterhub --hide-from-login & $exe --username SystemLinkNotebookEx --service notebookexecution --hide-from-login Beim erneuten Ausführen des Tools wird die Struktur neu erstellt und ACL erneut angewendet. |
|
| Notebook kann nicht gestartet werden |
Eine Notebook-Session kann möglicherweise nicht gestartet werden, auch wenn das Provisioning-Protokoll keine Fehler anzeigt. Die häufigste Ursache sind die Zugangsdaten des SystemLinkJupyterHub-Kontos in der JupyterHub-Konfigurationsdatei. Diese Zugangsdaten stimmen wahrscheinlich nicht mit dem tatsächlichen Windows-Kontopasswort überein. Führen Sie das Provisioning-Tool ohne --password erneut aus, um automatisch neue Zugangsdaten zu generieren. Sie müssen dann alle Dienste neu starten. Die Session kann mit einem allgemeinen Spawn-Fehler fehlschlagen, auch wenn das JupyterHub-Protokoll kein Anmeldedatenproblem anzeigt. Sie müssen den Berechtigungsmodus deaktivieren und die Dienste neu starten. Wenn das Notebook erfolgreich gestartet wird, verursachen Zugriffsbeschränkungen den Fehler. Um die fehlenden Berechtigungen zu identifizieren, lesen Sie die Tabelle zu den Breaking Changes. |
|
| Das Notebook kann nach dem Ausführen einer Zelle nicht auf Daten zugreifen. |
Eine Notebook-Zelle kann beim Lesen oder Schreiben eines Dateipfads eine Ausnahme PermissionError oder Zugriff verweigert ausgeben. Wenn es eine Ausnahme gibt, hat die Gruppe SystemLinkNotebooks keinen Zugriff auf dieses Verzeichnis. Informationen zum Gewähren des Zugriffs finden Sie unter Entschärfung der Berechtigungen für den Modus mit geringsten Rechten. Um die aktuellen Berechtigungen für den Pfad vom Notebook aus zu überprüfen, führen Sie den folgenden Befehl in Powershell aus. import subprocess result = subprocess.run(["icacls", r"C:\path\to\directory"], capture_output=True, text=True) print(result.stdout) |
|