wsl-powershell
v1.0.1通过挂载的Windows可执行文件,从WSL控制PowerShell并在Windows主机执行命令脚本。
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
- Permissions: Some operations require administrator privileges, use
-Verb RunAsfor elevated PowerShell - Path Escaping: Backslashes
in Windows paths must be escaped as\ - Encoding: PowerShell outputs UTF-16 by default, may need conversion
- 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