Token导航 LogoToken导航TokenDH.com
Wsl Windows Script Runner logo
开发工具未说明官方级别未说明来源级核验

Wsl Windows Script Runner

MCP Server

WSL-Windows脚本运行器是一种桥接服务,允许WSL环境自动在Windows主机上执行Windows脚本(.bat、.ps1),并提供完整的日志记录和监控功能。适用于AI助手、自动化工作流和测试等场景。

工具数

0

提示词数

0

GitHub Stars

0

资源数

0
PowerShell日志记录ClaudeClaude

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

作者 / 组织

dbbuilder

提供方

dbbuilder

最后核验

2026/5/17 20:22

快速接入

先看主来源和安装命令,再打开仓库或文档;下面只保留这个条目的关键接入事实。

详细介绍

WSL Windows脚本运行程序

一种桥接服务,允许WSL环境在Windows主机上自动执行Windows脚本(.bat、.ps1),并进行完整的日志记录和监控。

概述

此工具解决了从WSL(Linux的Windows子系统)运行Windows本机脚本的问题。它监视队列文件夹中的新脚本,在Windows上自动执行它们,捕获完整的输出日志,并组织完成的脚本。

非常适合:在WSL中运行的AI助手(如Claude)需要执行Windows命令、自动化工作流、测试或WSL需要触发Windows端操作的任何场景。

特性

  • 自动执行:放置在队列文件夹中的脚本会立即执行
  • 完整日志记录:使用时间戳完成stdout/stderr捕获
  • 文件稳定性检测:执行前等待文件完全写入
  • 有组织的产出:自动分类到已完成/存档文件夹
  • 退出代码跟踪:通过适当的日志记录进行成功/失败检测
  • 多种脚本类型:支持.ps1、.bat和.cmd文件
  • WSL集成:用于提交的易于使用的bash辅助脚本
  • 服务模式:作为Windows计划任务运行(从启动时开始)
  • 错误恢复:故障时自动重启
  • MCP集成:用于本机Claude Code集成的可选MCP服务器

集成选项

选项1:MCP服务器(建议用于Claude代码)⭐

MCP(模型上下文协议)服务器提供与专用工具的本地Claude集成:

  • windows_execute -通过一次工具调用执行PowerShell命令
  • windows_get_status -检查转轮状态
  • windows_list_logs -查看最近的日志
  • windows_read_log -读取特定日志文件

设置:

cd /mnt/d/Dev2/wsl-windows-script-runner/mcp-server
./setup.sh
./configure-claude.sh

mcp服务器/README.md 获取完整文档。

Claude中的用法:

Use windows_execute to get the Windows computer name
Use windows_execute to list all running Chrome processes
Check the Windows script runner status

选项2:Bash助手脚本

使用 wsl-submit.sh 直接使用辅助脚本:

/mnt/d/Dev2/wsl-windows-script-runner/wsl-submit.sh script.ps1

此选项需要更多的手动步骤,但无需MCP设置即可工作。

建筑

WSL Environment                    Windows Host
┌─────────────────┐               ┌──────────────────────┐
│                 │               │                      │
│  Claude/User    │               │  Script Watcher      │
│      ↓          │               │  (Scheduled Task)    │
│  wsl-submit.sh  │───────┐       │         ↓            │
│      ↓          │       │       │  FileSystemWatcher   │
│  Copy to queue  │       │       │         ↓            │
│                 │       │       │  Execute Script      │
└─────────────────┘       │       │         ↓            │
                          │       │  Capture Logs        │
   Shared Folder          │       │         ↓            │
┌─────────────────────────┼───────┼──────────────────────┐
│ /mnt/d/Dev2/wsl-...     │       │  D:\Dev2\wsl-...     │
│                         │       │                      │
│  queue/ ←───────────────┘       │  ← Monitor           │
│  logs/                          │  → Write             │
│  completed/                     │  → Move (success)    │
│  archive/                       │  → Move (failure)    │
└─────────────────────────────────┴──────────────────────┘

目录结构

wsl-windows-script-runner/
├── queue/                      # Drop scripts here (monitored)
├── logs/                       # Execution logs with timestamps
├── completed/                  # Successfully executed scripts
├── archive/                    # Failed scripts
├── ScriptWatcher.ps1           # Main file watcher service
├── Install-ScriptWatcher.ps1   # Installation script
├── Uninstall-ScriptWatcher.ps1 # Removal script
├── Get-WatcherStatus.ps1       # Status checker
├── wsl-submit.sh               # WSL helper script
└── README.md                   # This file

安装

步骤1:安装计划任务(Windows,作为管理员)

# Open PowerShell as Administrator
cd D:\Dev2\wsl-windows-script-runner

# Install the service
.\Install-ScriptWatcher.ps1

这将:

  • 创建一个名为“WSL Windows ScriptRunner”的计划任务
  • 将其配置为在系统启动时运行
  • 以SYSTEM权限运行以获得最大兼容性
  • 设置故障时自动重启

步骤2:验证安装

# Check status (Windows)
.\Get-WatcherStatus.ps1

# Or from WSL
/mnt/d/Dev2/wsl-windows-script-runner/wsl-submit.sh --status

步骤3:可选-将WSL助手添加到PATH

# Add to your ~/.bashrc or ~/.zshrc
echo 'alias wsl-run="/mnt/d/Dev2/wsl-windows-script-runner/wsl-submit.sh"' >> ~/.bashrc
source ~/.bashrc

# Now you can use:
wsl-run script.ps1
wsl-run --status
wsl-run --logs

用法

来自WSL

提交脚本以供执行

# Using the helper script
/mnt/d/Dev2/wsl-windows-script-runner/wsl-submit.sh myscript.ps1

# Or if you added the alias
wsl-run myscript.ps1

# Or copy directly
cp myscript.bat /mnt/d/Dev2/wsl-windows-script-runner/queue/

检查状态

wsl-run --status

查看日志

# List recent logs
wsl-run --logs

# Filter logs
wsl-run --logs backup

# Tail a specific log
wsl-run --tail backup_20250115_143022.log

实时观察队列

wsl-run --watch

从Windows

手动执行(测试)

# Run the watcher manually (for testing)
.\ScriptWatcher.ps1

# Press Ctrl+C to stop

检查状态

.\Get-WatcherStatus.ps1

# Or check the scheduled task
Get-ScheduledTask -TaskName "WSL-Windows-ScriptRunner"

启动/停止服务

# Start
Start-ScheduledTask -TaskName "WSL-Windows-ScriptRunner"

# Stop
Stop-ScheduledTask -TaskName "WSL-Windows-ScriptRunner"

# Restart
Stop-ScheduledTask -TaskName "WSL-Windows-ScriptRunner"
Start-ScheduledTask -TaskName "WSL-Windows-ScriptRunner"

例子

示例1:简单PowerShell脚本

来自WSL:

# Create a test script
cat > /tmp/test.ps1  /tmp/backup.bat &1

echo Backup process completed
EOF

wsl-run /tmp/backup.bat

# Check the archive (failed scripts)
ls /mnt/d/Dev2/wsl-windows-script-runner/archive/

示例3:Claude代码集成

当Claude需要从WSL运行Windows命令时:

# Claude creates a script
cat > /tmp/windows-task.ps1 `

技术细节

  • 文件监视器:用途。NET FileSystemWatcher,用于高效监控
  • 进程执行:生成单独的流程来捕获输出
  • 退出代码:正确捕获并记录进程退出代码
  • 文件锁定:实现重试逻辑以确保文件完全写入
  • 编码:日志文件的UTF-8编码
  • 重启策略:失败时自动重启(3次重试,间隔1分钟)

许可证

这是免费且无阻碍的软件,已发布到公共领域。

贡献

您可以随时提交问题、分叉存储库,并为任何改进创建pull请求。

支持

对于问题和疑问:

  1. 检查上面的故障排除部分
  2. Get-WatcherStatus.ps1 诊断
  3. 查看最近的日志 logs/ 目录
  4. 检查Windows事件查看器中的任务计划程序错误

______________________________________________________________________

创建于:桥接WSL和Windows环境,实现无缝脚本执行 版本: 1.0.0 最后更新:2025年1月

目录标签

目录标签

PowerShell日志记录Claude本地部署WSL集成脚本执行自动化工具Windows-Linux桥接

支持客户端

Claude

接入字段

传输方式(transport,传输协议)

未说明

鉴权方式(authType,认证方式)

none

工具数量(toolCount,工具数)

0

资源数量(resourceCount,资源数)

0

提示词数量(promptCount,提示词数)

0

权限和风险

未说明none部署方式未说明

接入前请确认传输方式、认证方式和部署位置,并根据实际工具能力限制访问范围。

安装前确认

不要直接授予不必要的文件、网络或账号权限;先核对安装命令和配置内容。

仍需确认:installCommand

来源信息

继续浏览同类 MCP