Wiki
在 Windows 上安装
PowerShell 一行命令:激活码、通过 winget 安装 PostgreSQL、Windows 服务、防火墙。
Windows 10、11 或 Windows Server 2019+(x64)。使用一行 PowerShell 命令安装。
安装
-
以管理员身份打开 PowerShell
右键单击 PowerShell 图标 → 以管理员身份运行。
-
粘贴命令
iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing | iex该脚本会:
- 提示输入你的激活码(UV-XXXX-XXXX-XXXX)
- 下载二进制文件并校验压缩包
- 如果缺少 PostgreSQL,则通过
winget安装(在全新环境中约需 2 分钟) - 创建数据库、角色和 Windows 服务,并打开防火墙(8443 + 8080 回退)
- 注册程序和功能条目
- 启动服务,生成自签名 TLS 证书,并显示管理员密码以及证书的 SHA-256 指纹
全部操作都在你的 PowerShell 窗口中进行,你可以看到每一步。这相当于 Linux 上
sudo apt install的 Windows 版本。 -
请记下密码,它会在安装结束时显示(或通过
Get-Content "C:\ProgramData\uVersion\initial-admin-password"获取)。
之后你可以继续 首次登录。
非交互式变体(CI、脚本化部署)
& ([scriptblock]::Create((iwr https://uversion.io/downloads/server/install.ps1 -UseBasicParsing).Content)) `
-LicenceKey "UV-XXXX-XXXX-XXXX"
所有可用参数:-LicenceKey、
-InstallDir、-DataDir、-Port、
-BindAddress、-DownloadUrl、-Reconfigure。
验证安装
Get-Service uVersionServer # Status: Running
Get-NetTCPConnection -LocalPort 8443 -State Listen # HTTPS auto-signe
Get-Content "C:\ProgramData\uVersion\data\tls\fingerprint" # empreinte TLS
Get-EventLog -LogName Application -Source uVersionServer -Newest 20 # logs recents
卸载
C:\ProgramData\uVersion\。
有两种等效方式。两者都运行同一个脚本(uninstall.ps1),它会处理服务、
防火墙、计算机环境变量、数据目录、二进制文件、程序和功能条目以及 PostgreSQL
数据库。
1. 通过程序和功能
- Win+R →
appwiz.cpl→ 回车 - 在列表中找到 uVersion Server
- 右键单击 → 卸载
- 会打开一个管理员 PowerShell 窗口并可见地运行脚本
2. 通过以管理员身份运行 PowerShell
iwr https://uversion.io/downloads/server/uninstall.ps1 -UseBasicParsing | iex
脚本最后会显示一个验证块:对于服务、安装目录、数据目录和程序和功能条目, 你应看到绿色的 "OK absent"。
也卸载 PostgreSQL 吗?
默认情况下 uninstall.ps1 不会触及 PostgreSQL(你可能还有其他应用在
使用它)。如需一并删除:
$body = (iwr "https://uversion.io/downloads/server/uninstall.ps1" -UseBasicParsing).Content
if ($body -is [byte[]]) { $body = [Text.Encoding]::UTF8.GetString($body) }
& ([scriptblock]::Create($body)) -RemovePostgreSQL
需要进行 [byte[]] 检查:根据所提供的 Content-Type,
Invoke-WebRequest -UseBasicParsing 可能以字节数组或字符串形式返回正文。
上述模式在两种情况下都有效。
-RemovePostgreSQL 会删除计算机上的所有
PostgreSQL 安装,而不仅仅是 uVersion 的数据库。仅当你确定没有其他程序使用该集群时
才使用它。