|
|
|
|
@ -10,7 +10,7 @@ param(
|
|
|
|
|
[string]$Method = "installutil"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
$ErrorActionPreference = "Stop"
|
|
|
|
|
$ErrorActionPreference = "Continue"
|
|
|
|
|
$serviceName = "CncCollector"
|
|
|
|
|
$installDir = "C:\CncCollector"
|
|
|
|
|
$projectDir = Split-Path -Parent $PSScriptRoot
|
|
|
|
|
@ -18,7 +18,7 @@ $binDir = Join-Path $projectDir "bin"
|
|
|
|
|
$exePath = Join-Path $binDir "CncCollector.exe"
|
|
|
|
|
|
|
|
|
|
Write-Host "================================================" -ForegroundColor Cyan
|
|
|
|
|
Write-Host " CNC 机床数据采集服务 - 安装脚本 v2.0" -ForegroundColor Cyan
|
|
|
|
|
Write-Host " CNC 机床数据采集服务 - 安装脚本 v2.1" -ForegroundColor Cyan
|
|
|
|
|
Write-Host " 安装方式: $Method" -ForegroundColor Cyan
|
|
|
|
|
Write-Host "================================================" -ForegroundColor Cyan
|
|
|
|
|
|
|
|
|
|
@ -26,6 +26,8 @@ Write-Host "================================================" -ForegroundColor C
|
|
|
|
|
$isAdmin = ([Security.Principal.WindowsPrincipal] [Security.Principal.WindowsIdentity]::GetCurrent()).IsInRole([Security.Principal.WindowsBuiltInRole]::Administrator)
|
|
|
|
|
if (-not $isAdmin) {
|
|
|
|
|
Write-Host "[错误] 请以管理员权限运行此脚本!" -ForegroundColor Red
|
|
|
|
|
Write-Host "`n按回车键退出..." -ForegroundColor Gray
|
|
|
|
|
Read-Host
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -34,6 +36,8 @@ if (-not (Test-Path $exePath)) {
|
|
|
|
|
Write-Host "[错误] 找不到 CncCollector.exe,请先编译项目。" -ForegroundColor Red
|
|
|
|
|
Write-Host " 预期路径: $exePath" -ForegroundColor Yellow
|
|
|
|
|
Write-Host " 编译命令: dotnet build src\CncCollector\CncCollector.csproj -c Debug" -ForegroundColor Yellow
|
|
|
|
|
Write-Host "`n按回车键退出..." -ForegroundColor Gray
|
|
|
|
|
Read-Host
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -133,6 +137,8 @@ switch ($Method) {
|
|
|
|
|
} else {
|
|
|
|
|
Write-Host " [错误] 未找到 NSSM,请先安装 NSSM 或使用其他安装方式。" -ForegroundColor Red
|
|
|
|
|
Write-Host " 替代方案: .\install.ps1 -Method installutil" -ForegroundColor Yellow
|
|
|
|
|
Write-Host "`n按回车键退出..." -ForegroundColor Gray
|
|
|
|
|
Read-Host
|
|
|
|
|
exit 1
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
@ -165,14 +171,23 @@ if ($svc -and $svc.Status -eq 'Running') {
|
|
|
|
|
|
|
|
|
|
# 尝试调用管理API验证
|
|
|
|
|
try {
|
|
|
|
|
$response = Invoke-WebRequest -Uri "http://localhost:5800/api/collector/status" -Headers @{ "X-Api-Key" = "collector_api_key_2026" } -TimeoutSec 5 -ErrorAction Stop
|
|
|
|
|
# 从collector.json读取apiKey
|
|
|
|
|
$configFile = Join-Path $installDir "collector.json"
|
|
|
|
|
$apiKey = "collector_api_key_2026"
|
|
|
|
|
if (Test-Path $configFile) {
|
|
|
|
|
$configJson = Get-Content $configFile -Raw | ConvertFrom-Json
|
|
|
|
|
if ($configJson.apiKey) { $apiKey = $configJson.apiKey }
|
|
|
|
|
}
|
|
|
|
|
$response = Invoke-WebRequest -Uri "http://localhost:5800/api/collector/status" -Headers @{ "X-Api-Key" = $apiKey } -TimeoutSec 5 -ErrorAction Stop
|
|
|
|
|
Write-Host " API状态: $($response.StatusCode) - 服务运行正常" -ForegroundColor Green
|
|
|
|
|
} catch {
|
|
|
|
|
Write-Host " API状态: 未响应(可能正在初始化)" -ForegroundColor Yellow
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
Write-Host "`n[警告] 服务已安装但未能启动,请检查配置和日志。" -ForegroundColor Yellow
|
|
|
|
|
Write-Host " 日志目录: $installDir" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 日志目录: $installDir\logs\" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 运行日志: collector.log" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 错误日志: collector_error.log" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 查看事件日志: Get-EventLog -LogName Application -Source CncCollector -Newest 10" -ForegroundColor Gray
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
@ -182,3 +197,6 @@ Write-Host " 停止: Stop-Service $serviceName" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 状态: Get-Service $serviceName" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 卸载: .\uninstall.ps1" -ForegroundColor Gray
|
|
|
|
|
Write-Host " 控制台调试: CncCollector.exe --console" -ForegroundColor Gray
|
|
|
|
|
|
|
|
|
|
Write-Host "`n按回车键退出..." -ForegroundColor Gray
|
|
|
|
|
Read-Host
|
|
|
|
|
|