当前位置: 首页 > news >正文

基于PowerShell的Windows服务命令行管理器(WSM)

Windows 服务管理(WSM)

WSM(Windows Service Manager)是一个基于 PowerShell + NSSM 的交互式命令行工具,用于统一管理 Windows 服务,尤其适合管理 由 NSSM 托管的自定义服务(EXE / BAT / JAR / Python 等)。

该工具提供完整的菜单界面,支持服务查看、启动、停止、重启、删除、编辑、主题切换以及 NSSM 的自动安装。

运行示例

service_list

service_manage


✨ 功能特性

  • 自动检测并管理 NSSM 托管的服务
  • 管理通过 services.txt 添加的自定义服务
  • 服务操作:
    • 启动 / 停止 / 重启
    • 删除(双重确认,防误操作)
    • 修改启动类型(Automatic / Manual / Disabled)
  • 查看服务详细参数:
    • 程序路径
    • 启动参数
    • 工作目录
  • 一键调用 NSSM 官方 GUI 编辑服务
  • 自动检测并 在线安装 NSSM
  • 可切换主题(支持自定义主题脚本)
  • 自动管理员权限提升
  • 适配中英文显示宽度,对齐友好

🧩 运行环境要求

  • Windows 10 / 11
  • PowerShell 5.1
  • 管理员权限(脚本会自动请求)
  • 可访问互联网(仅在下载 NSSM 时需要)

📁 目录结构说明

WSM.ps1                 # 主程序
services.txt            # 额外需要管理的服务列表
plugins/└─ Box.ps1             # 控制台 Box UI 插件
themes/├─ xxx.ps1             # 主题文件└─ current_theme.txt   # 当前主题记录文件(自动生成)

🚀 使用方法

1️⃣ 运行脚本

首先关闭执行PowerShell 的脚本执行限制。

Set-ExecutionPolicy -Scope CurrentUser -ExecutionPolicy Bypass 

本脚本支持 双击运行PowerShell 命令行运行 两种方式。


方法一:双击运行(推荐)

  1. 确保 .ps1 文件已关联到 powershell.exe
  2. 直接双击 WSM.ps1 即可运行
  3. 若未以管理员身份启动,脚本会自动请求并重新以管理员权限运行

如何将 .ps1 文件关联到 PowerShell:

  • 右键任意 .ps1 文件 → 打开方式选择其他应用
  • 选择 Windows PowerShell
  • 勾选 始终使用此应用打开 .ps1 文件
  • 点击 确定

如果列表中未显示 Windows PowerShell:
点击“更多应用”,或手动选择以下路径:

C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe


方法二:在 PowerShell 中运行

在 PowerShell 中执行:


.\WSM.ps1

脚本会自动检测是否以管理员身份运行,若不是将自动重新启动。


2️⃣ 主菜单功能

  • 服务列表

    • 查看并管理所有 NSSM 服务及 services.txt 中定义的服务
  • 添加新服务

    • 调用 NSSM 官方 GUI (nssm install)
    • 编辑自定义服务列表services.txt
  • 程序设置

    • 安装NSSM
    • 切换主题
  • 关于
    显示程序信息、版本、NSSM 信息及功能说明


📄 services.txt 说明

services.txt 用于补充需要管理的服务。(使用nssm添加的服务会自动管理)

示例:

# 这里添加需要监控的服务
W32Time
MySQL

说明:

  • 每行一个服务名(Service Name)
  • 支持注释(# / ; / //
  • 文件不存在时会自动创建

🎨 主题系统说明

  • 所有主题文件位于 themes 目录
  • 每个主题是一个 .ps1 文件
  • 当前主题记录在 current_theme.txt
  • 支持运行时切换,无需重启脚本

主题可配置项示例:

# ==========================
# UI 主题配置说明
# ==========================
# $Global:UI 哈希表用于控制 WSM 菜单界面的样式和显示效果
# 可在运行时切换主题,支持修改颜色、边框样式、宽度等
# 字段说明:
#   Width           : 菜单/Box 宽度(字符数)
#   BorderColor     : 边框颜色
#   BoxStyle        : 边框样式(Double/Single/Heavy/Rounded/Ascii/Dotted)
#   TitleColor      : 菜单标题颜色
#   TextColor       : 列表文本颜色
#   TextPaddingLeft : 文本左侧缩进空格数
#   AccentColor     : 高亮或强调文字颜色(还没用到)
#   MutedColor      : 辅助或提示文字颜色(如“返回”按钮、次要信息)
$Global:UI = @{Width       = 50BorderColor = 'DarkGray'BoxStyle    = 'Heavy'TitleColor  = 'DarkYellow'TextColor   = 'Cyan'TextPaddingLeft = 2AccentColor = 'DarkYellow'MutedColor  = 'Gray'
}

⚙️ NSSM 支持说明

  • 程序启动时自动检测程序所当前目录以及环境变量PATH中的 nssm.exe
  • 未检测到时不会强制安装,仍可管理services.txt中添加的服务,但编辑功能和使用nssm添加服务功能无法使用
  • 可在【设置】菜单中手动下载nssm安装
  • 支持安装时加入系统 PATH

NSSM 官网:nssm


⚠️ 注意事项

  • 本工具 必须以管理员权限运行
  • 删除服务操作不可恢复,请谨慎确认
  • 编辑服务前请确认程序路径和参数正确
  • 修改 PATH 会影响系统环境变量

📌 适用场景

  • 将普通程序注册为 Windows 服务
  • 管理 Java / Python / Node / 批处理 后台服务
  • 运维或开发环境的服务统一管理
  • 替代手动使用 services.mscsc.exe

项目主页:Github

http://www.gsyq.cn/news/117736.html

相关文章:

  • 使用格子玻尔兹曼方法(LBM)模拟热扩散的Matlab代码
  • IPv6违规外联防御指南:从风险盲区到可管可控
  • 高效测试脚本维护:策略与实战技巧
  • BioSIM抗人TGFB1抗体SIM0367:适用广泛,功能多样
  • 机器视觉介绍
  • GA-LSSVM多输入多输出回归,基于遗传算法(GA)优化最小二乘向量机(LSSVM)的多输入...
  • LangChain多智能体协作实战教程(超详细)从基础架构到动态循环机制,一篇搞定,值得收藏!
  • 算法驱动搜索变革:亚马逊新规则,卖家如何赢下曝光争夺战?
  • BioSIM 抗人GARP/TGF-β1复合抗体SIM0368:高特异性、高灵敏度以及广泛的适用性
  • 完整教程:openEuler 22.03 LTS 部署 ELK(Elasticsearch+Logstash+Kibana)完整教程
  • 每天一个大模型相关知识点系列--Lora微调
  • 汇总12款Word生成PPT工具,哪款更适合日常汇报?
  • 深入解析:AI Agent设计模式 Day 13:Ensemble模式:集成多个Agent的智慧
  • 从零开始:C#回收魔法—深入浅出揭开Dispose与释放模式的神秘面纱
  • 【TVM 教程】Python 目标参数化
  • Oracle性能诊断与SQL优化:从9i到19c的技术演进与实践
  • FT8440B输出12V350MA,18V300MA 非隔离电源方案 典型应用电路
  • SpringBoot使用设计模式一观察者模式
  • PHOTO1111
  • 基于大数据的社交网络隐私保护及舆情分析可视化系统课题申报表
  • CUDA初始团队成员锐评cuTile「专打」Triton,Tile范式能否重塑GPU编程生态竞争格局
  • 大模型面试必备03——llama文章精读
  • TikTok多账号风控:找对安全支点,解锁规模化运营
  • 基于大数据的热点话题分析系统的设计与实现中期
  • 【往届已检索、ACM出版、见刊检索稳定】第二届数字管理与信息技术国际学术会议 (DMIT 2026)
  • 200Smart与WinCC通讯
  • 零基础想学黑客技术?整理国内优质网络安全论坛网站,小白入门必备!
  • 软件测试资源大全:从工具到社区,打造你的职业成长生态
  • 车载 Android 系统稳定性问题全解析:从性能到黑屏的排查指南
  • 为什么90%的团队搞不定云原生Agent部署?Docker批量方案深度拆解