SkillHub

wsl-powershell

v1.0.1

通过挂载的Windows可执行文件,从WSL控制PowerShell并在Windows主机执行命令脚本。

Sourced from ClawHub, Authored by TYzzt

Installation

Please help me install the skill `wsl-powershell` from SkillHub official store. npx skills add TYzzt/wsl-powershell

WSL-PowerShell Controller

Call Windows PowerShell from WSL to control Windows host from Linux environment.

How It Works

WSL mounts Windows drives to /mnt/, allowing direct execution of Windows binaries: - PowerShell: /mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe - CMD: /mnt/c/Windows/System32/cmd.exe

Usage

Execute PowerShell Commands

/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -Command "Your-Command"

Execute PowerShell Scripts

/mnt/c/Windows/System32/WindowsPowerShell/v1.0/powershell.exe -File "/mnt/c/path/to/script.ps1"

Common Examples

System Information

# Get system info
powershell.exe -Command "Get-ComputerInfo"

# Get process list
powershell.exe -Command "Get-Process | Select-Object -First 10 Name,Id,CPU"

# Get service status
powershell.exe -Command "Get-Service | Where-Object {$_.Status -eq 'Running'} | Select-Object -First 10 Name,DisplayName"

File Operations

# List directory
powershell.exe -Command "Get-ChildItem C:\Users"

# Copy file
powershell.exe -Command "Copy-Item C:\source\file.txt C:\dest\file.txt"

# Create file
powershell.exe -Command "New-Item -Path C:\test.txt -ItemType File -Force"

Process Management

# Start program
powershell.exe -Command "Start-Process notepad.exe"

# Stop process
powershell.exe -Command "Stop-Process -Name notepad -Force"

Network Operations

# Get network config
powershell.exe -Command "Get-NetIPConfiguration"

# Ping test
powershell.exe -Command "Test-Connection -ComputerName google.com -Count 2"

Path Conversion

WSL Path ↔ Windows Path: - WSL: /mnt/c/Users/Tao ↔ Windows: C:UsersTao - Use wslpath command: bash wslpath -w /mnt/c/Users # Output: C:Users wslpath -u C:\Users # Output: /mnt/c/Users

Notes

  1. Permissions: Some operations require administrator privileges, use -Verb RunAs for elevated PowerShell
  2. Path Escaping: Backslashes in Windows paths must be escaped as \
  3. Encoding: PowerShell outputs UTF-16 by default, may need conversion
  4. Execution Policy: Running scripts may require Set-ExecutionPolicy

Security Tips

  • Use caution with system-level commands
  • Avoid deleting critical system files
  • Test commands before executing in production