92 lines
3.0 KiB
PowerShell
92 lines
3.0 KiB
PowerShell
#Requires -RunAsAdministrator
|
|
|
|
<#
|
|
.SYNOPSIS
|
|
智能网络监控脚本 - 系统卸载脚本
|
|
|
|
.DESCRIPTION
|
|
完全卸载系统级部署的智能网络监控脚本
|
|
#>
|
|
|
|
$ProgramPath = "C:\Program Files\SmartNetworkMonitor"
|
|
$DataPath = "C:\ProgramData\SmartNetworkMonitor"
|
|
|
|
Write-Host "==========================================" -ForegroundColor Red
|
|
Write-Host "智能网络监控脚本 - 系统卸载" -ForegroundColor Red
|
|
Write-Host "==========================================" -ForegroundColor Red
|
|
Write-Host ""
|
|
|
|
Write-Host "将要删除:" -ForegroundColor Yellow
|
|
Write-Host "- 程序目录: $ProgramPath" -ForegroundColor White
|
|
Write-Host "- 数据目录: $DataPath (包含日志文件)" -ForegroundColor White
|
|
Write-Host "- 任务计划程序条目" -ForegroundColor White
|
|
Write-Host "- 事件日志源" -ForegroundColor White
|
|
Write-Host ""
|
|
|
|
$confirmation = Read-Host "确定要继续吗?这将删除所有相关文件和配置 (y/N)"
|
|
|
|
if ($confirmation -ne 'y' -and $confirmation -ne 'Y') {
|
|
Write-Host "卸载已取消" -ForegroundColor Green
|
|
exit 0
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "正在卸载..." -ForegroundColor Yellow
|
|
|
|
# 停止并删除任务计划程序
|
|
try {
|
|
$task = Get-ScheduledTask -TaskName "Smart Network Shutdown Monitor" -ErrorAction SilentlyContinue
|
|
if ($task) {
|
|
Stop-ScheduledTask -TaskName "Smart Network Shutdown Monitor" -ErrorAction SilentlyContinue
|
|
Unregister-ScheduledTask -TaskName "Smart Network Shutdown Monitor" -Confirm:$false
|
|
Write-Host "[OK] 任务计划程序已删除" -ForegroundColor Green
|
|
}
|
|
}
|
|
catch {
|
|
Write-Host "[X] 删除任务计划程序失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
}
|
|
|
|
# 删除事件日志源
|
|
try {
|
|
if ([System.Diagnostics.EventLog]::SourceExists("SmartNetworkMonitor")) {
|
|
[System.Diagnostics.EventLog]::DeleteEventSource("SmartNetworkMonitor")
|
|
Write-Host "[OK] 事件日志源已删除" -ForegroundColor Green
|
|
}
|
|
}
|
|
catch {
|
|
Write-Host "[X] 删除事件日志源失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
}
|
|
|
|
# 删除程序目录
|
|
try {
|
|
if (Test-Path $ProgramPath) {
|
|
Remove-Item -Path $ProgramPath -Recurse -Force
|
|
Write-Host "[OK] 程序目录已删除: $ProgramPath" -ForegroundColor Green
|
|
}
|
|
}
|
|
catch {
|
|
Write-Host "[X] 删除程序目录失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
}
|
|
|
|
# 询问是否删除数据目录(包含日志)
|
|
Write-Host ""
|
|
$deleteData = Read-Host "是否同时删除数据目录和所有日志文件?(y/N)"
|
|
|
|
if ($deleteData -eq 'y' -or $deleteData -eq 'Y') {
|
|
try {
|
|
if (Test-Path $DataPath) {
|
|
Remove-Item -Path $DataPath -Recurse -Force
|
|
Write-Host "[OK] 数据目录已删除: $DataPath" -ForegroundColor Green
|
|
}
|
|
}
|
|
catch {
|
|
Write-Host "[X] 删除数据目录失败: $($_.Exception.Message)" -ForegroundColor Red
|
|
}
|
|
} else {
|
|
Write-Host "[INFO] 数据目录保留: $DataPath" -ForegroundColor Cyan
|
|
}
|
|
|
|
Write-Host ""
|
|
Write-Host "[OK] 卸载完成!" -ForegroundColor Green
|
|
Read-Host "按任意键退出"
|