配置工具
- 更新时间2026-09-10
- 阅读时长10分钟
使用配置工具对Jupyter和NotebookExecution服务进行必要的设置。
- 创建或更新用户帐户。
- 应用所有必要的权限。
- 为丢失的子目录重新创建Jupyter配置文件目录结构。备注 例如,ProgramData\National Instruments\Skyline\JupyterHub\profile目录层次结构中可能缺少一个目录。
NIPM安装程序将自动运行配置工具。手动运行该工具以轮换密码、确保修复后功能正常或恢复配置文件目录。
配置工具对SystemLinkNotebooks组应用下列允许权限和拒绝权限。
| 路径 | 权限 |
|---|---|
| %ProgramData%\National Instruments\Skyline\JupyterHub | 修改Jupyter配置文件目录和运行时文件的权限。 |
| %ProgramFiles%\National Instruments\Shared\Skyline\Python | 读取并执行所有内容,包括版本子文件夹。例如,配置工具可用于3.8\子文件夹。缺少写入权限将阻止pip install命令。 |
| 路径 | 权限 |
|---|---|
| %ProgramFiles%\National Instruments\Shared\Web Server | 完全控制 |
| %ProgramData%\National Instruments\Skyline\Config | 完全控制 |
| %ProgramData%\National Instruments\Skyline\HttpConfigurations | 完全控制 |
| %ProgramData%\National Instruments\Skyline\Install | 完全控制 |
| %ProgramData%\National Instruments\Skyline\KeyValueDatabase | 完全控制 |
| %ProgramData%\National Instruments\Skyline\Logs | 完全控制 |
| %ProgramData%\National Instruments\Skyline\NoSqlDatabase | 完全控制 |
| %ProgramData%\National Instruments\Skyline\PostgreSQLDatabase | 完全控制 |
| %ProgramData%\National Instruments\Skyline\Python | 完全控制 |
| %ProgramData%\National Instruments\Skyline\RabbitMQ | 完全控制 |
| %ProgramData%\National Instruments\Skyline\SkylineConfigurations | 完全控制 |
| %ProgramData%\National Instruments\SystemLink TDM Index | 完全控制 |
| %ProgramData%\National Instruments\TDM Server | 完全控制 |
| %ProgramData%\National Instruments\Skyline\Data | 写入。该路径保留了Users成员的读取和执行权限。 |
| %ProgramData%\National Instruments\Skyline\JupyterHub\profile\AppData\Roaming\Python | 写入。该路径阻止pip install --user命令。 |
服务目录的拒绝规则将重写帐户继承自用户组的读取权限。这些目录包括Config和Logs。默认情况下,Users组对大多数%ProgramData%目录具有读取和执行权限。
%ProgramData%\National Instruments\Skyline\JupyterHub\profile\AppData\Roaming\Python中的拒绝写入规则将重写从JupyterHub继承的修改权限。规则具备幂等性,且作用域限定为SystemLinkNotebooks组。这些规则不影响任何其他帐户。
运行配置工具的语法
要运行配置工具,必须使用以下语法。
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
配置工具的常见PowerShell操作
根据您的目标,在配置工具中使用下列Powershell操作。
| 目标 | Powershell操作 |
|---|---|
| 创建或更新两个帐户 | 备注 该操作与安装程序类似。 $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 备注 如果配置工具无法创建用户,请尝试通过--username参数使用其他用户名。SystemLink允许的最大用户名长度为20个字符。 |
| 轮换JupyterHub用户的密码 | & $exe --username SystemLinkJupyterHub --service jupyterhub --password "<user-provided-password>" 备注 轮换密码后,须重新启动SystemLink服务。从SystemLink Server配置应用程序触发系统重启。 |
| NotebookExecution服务使用自动生成的密码。 | 备注 此操作将加密密码并将其存储在服务配置中。 & $exe --username SystemLinkNotebookEx --service notebookexecution |
调试配置失败
如果配置工具失败,依赖于已配置帐户的服务将无法正确启动。
- NotebookExecution-显示SystemLink Server配置应用程序中具有错误状态的故障。
- JupyterHub-在有错误的服务下列出该故障。用户界面中的错误消息通常是通用的,无法将错误识别为配置失败。
如需确定失败的确切原因,请参阅以下位置的配置日志文件:%ProgramData%\National Instruments\Skyline\Logs\notebookUserSetup.log
配置工具记录描述特定故障的[FATAL]行。例如,该行可能描述了帐户名称冲突或访问错误。
也可手动运行配置工具,直接查看PowerShell的输出。
$exe = "$env:ProgramFiles\National Instruments\Shared\Skyline\NINotebookUserSetupCmd.exe" & $exe --username SystemLinkJupyterHub --service jupyterhub --hide-from-login Write-Host "Exit code: $LASTEXITCODE"
根据错误,执行以下步骤。
| 错误 | 解答 | |
|---|---|---|
| 缺少配置文件目录 |
如Jupyter配置文件目录中缺少子目录,内核可能无法启动。或者,内核可能返回FileNotFoundError。子目录包括AppData、ipython和jupyter。手动删除或安装失败后,这些子目录可能丢失。 另一种症状是Notebook看似执行但不产生输出。当内核无法将连接文件写入profile\jupyter\runtime下的JUPYTER_RUNTIME_DIR时,可能发生该问题。内核进程启动,但前端无法连接至内核。因此,系统不会提供单元格输出。 如需解决该问题,可在Powershell中以管理员身份为两个服务重新运行配置工具。 $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 再次运行工具将重新创建结构并重新应用ACL。 |
|
| Notebook无法启动 |
即使配置日志未显示错误,Notebook会话也可能无法启动。最常见的原因是JupyterHub配置文件中的SystemLinkJupyterHub帐户凭证。这些凭据可能与实际的Windows帐户密码不同步。不使用--password重新运行配置工具以自动生成新的凭据。然后必须重启所有服务。 即使JupyterHub日志未显示凭据问题,会话也可能失败并出现通用生成错误。必须退出权限模式并重启服务。如果Notebook启动成功,访问限制将导致失败。如需识别缺失的权限,请参阅重大变更表。 |
|
| 运行单元格后,Notebook无法访问数据。 |
Notebook单元格可能在读取或写入文件路径时返回PermissionError异常或Access is denied异常。如发生异常,SystemLinkNotebooks组无权访问该目录。如需授予访问权限,请参阅放宽最低权限模式的权限。 要在Notebook内部检查路径的当前权限,请在Powershell中运行以下命令。 import subprocess result = subprocess.run(["icacls", r"C:\path\to\directory"], capture_output=True, text=True) print(result.stdout) |
|