Windows Development Awesome List
- SSH
- Windows OpenSSH Server
- PowerShell
- dotnet
- MSYS2 sshd
- Cygwin sshd
- Git Bash sshd
- WSL sshd
- Windows OpenSSH Server
- Terminal
- Windows Terminal
- Warp
- Tabby
- WezTerm
| cmd | stand for | mean |
|---|---|---|
| tscon | Terminal Services Connect | |
| mstsc | ||
| gpedit | Group Policy Edit | 组策略编辑 |
| services | Service Manager | 服务 |
| control | Control Panel | 控制面板 |
| eventvwr | Event Viewer | 事件查看器 |
| systeminfo | 查看系统信息 | |
| qwinsta | ||
| cmd | ||
| powershell | Powershell v5.1 | Win7+, Win10 默认 |
| pwsh | Poershell v7+ | |
| systempropertiesremote | 远程桌面设置 |
| format | for | notes |
|---|---|---|
| msi | ||
| msix | ||
| appx | 商店 | |
| wix | Windows Installer XML |
| linux | windows | notes |
|---|---|---|
~/.local/bin | %AppData%\..\Local\Microsoft\WindowsApps | |
~/.local/bin | %LocalAppData%\Programs | |
| ~/npm | %AppData%\npm | |
~/go/bin | %UserProfile%\go\bin | |
/usr/bin | C:\Windows\System32 | |
/usr/local/bin | C:\Program Files | |
.bashrc | $PROFILE |
# 安装 PowerShell v7+
# pwsh
winget install --id Microsoft.PowerShell --installer-type wix
(Get-Command pwsh).Source
# Windows 可用的比较好的 Terminal
winget install Warp.Warp
winget install Zellij.Zellij
# admin PowerShell
Start-Process powershell.exe -Verb RunAs
# https://github.com/microsoft/winget-pkgs
# https://winstall.app/
# https://winget.run/
winget source list
winget source update
winget install gerardog.gsudo
# 用户信息
whoami /all
Get-ItemProperty -Path "HKCU:\Software\Microsoft\IdentityCRL\UserExtendedProperties\*" | Select-Object -ExpandProperty Email
Get-LocalUser | Where-Object { $_.PrincipalSource -eq "MicrosoftAccount" } | Select-Object Name, FullName, Description
# 把当前 RDP 远程桌面 session 转回本机 console session, RDB 断开,桌面保持登陆、解锁、可交互状态
tscon SESSION_ID /dest:console
query session
query user %USERNAME%
qwinsta
# 连接 RDB
# /w:1920 /h:1080 /multimon /admin
mstsc /v:192.168.1.123:3389 /f
# 凭据
cmdkey /generic:TERMSRV/192.168.1.123 /user:wener /pass:PASSWORD
cmdkey /delete:TERMSRV/192.168.1.123
# 开启 RDP
# Windows Home 通常不能作为 RDP Host,需要 Pro / Enterprise / Server
Set-ItemProperty `
-Path 'HKLM:\System\CurrentControlSet\Control\Terminal Server' `
-Name 'fDenyTSConnections' `
-Value 0
Enable-NetFirewallRule -DisplayGroup "Remote Desktop"
Get-NetTCPConnection -LocalPort 3389 -State Listen# macOS Windows App / Microsoft Remote Desktop
cat > win.rdp << 'EOF'
full address:s:192.168.1.123
username:s:wener
desktopwidth:i:1920
desktopheight:i:1080
session bpp:i:32
redirectclipboard:i:1
audiomode:i:2
EOF
open win.rdpwhere cmd
Get-Command cmd
Set-Alias which Get-Command- UI Automation
- g4-api/uia-peekGitHubg4-api/uia-peek
- Windows UI Automation inspector 与 recorder,支持 REST/CLI/SignalR。
- g4-api/uia-peekGitHubg4-api/uia-peek
Sysinternals
winget install --source --scope machine winget Microsoft.Sysinternals.ProcessExplorer
winget install --source winget Microsoft.Sysinternals.ProcessMonitor
winget install --source winget Microsoft.Sysinternals.TCPView
winget install --source winget Microsoft.Sysinternals.AutorunsPowerShell
- $PROFILE
- $PROFILE.CurrentUserAllHosts
- $PROFILE.AllUsersAllHosts
- Documents\PowerShell\Microsoft.PowerShell_profile.ps1
- PowerShell v7+ 给予 .NET Core, 跨平台
| 描述 | Windows/PowerShell | Linux |
|---|---|---|
| 当前用户 | $env | $USER |
| 当前目录 | env | $PWD |
| 用户主目录 | env | $HOME |
| 可执行文件路径 | $env | $PATH |
| 临时目录 | $env | $TMPDIR |
| 系统主机名 | $env | $HOSTNAME |
| 操作系统类型 | IsLinux (布尔值) | $OSTYPE |
| 默认 Shell | $ShellId | $SHELL |
| 处理器架构 | $env | $(uname -m) |
Windows Native SSHd
- C:\ProgramData\ssh\administrators_authorized_keys
- 管理员账号可能用这个
- C:\ProgramData\ssh\sshd_config
Get-WindowsCapability -Online | Where-Object Name -like 'OpenSSH*'
Add-WindowsCapability -Online -Name OpenSSH.Server~~~~0.0.1.0
Start-Service sshd
Set-Service -Name sshd -StartupType Automatic
New-NetFirewallRule `
-Name "sshd" `
-DisplayName "OpenSSH Server" `
-Enabled True `
-Direction Inbound `
-Protocol TCP `
-Action Allow `
-LocalPort 22
# .ssh 权限修复
icacls $env:USERPROFILE\.ssh /inheritance:r
icacls $env:USERPROFILE\.ssh /grant "$env:USERNAME:(OI)(CI)F"
icacls $env:USERPROFILE\.ssh\authorized_keys /inheritance:r
icacls $env:USERPROFILE\.ssh\authorized_keys /grant "$env:USERNAME:F"
# 重启 sshd
Restart-Service sshdPackage Management
- winget-cliGitHubmicrosoft/winget-cli - Windows Package Manager.
- ScoopGitHubScoopInstaller/Scoop - Command-line installer for Windows.
- Chocolatey - Package Manager for Windows.
Tools
- PowerToysGitHubmicrosoft/PowerToys - Windows system utilities to maximize productivity.
- Windows TerminalGitHubmicrosoft/terminal - The new Windows Terminal.
- Sysinternals Suite - Troubleshooting utilities.
- Process Hacker - Advanced task manager.
- WoxGitHubWox-launcher/Wox - Launcher for Windows.
- Everything - Locate files and folders by name instantly.
Development
- WSL 2 - Windows Subsystem for Linux.
- Git for Windows
- Cmder - Portable console emulator for Windows.
UI/UX
References
- Awesome WindowsGitHubAwesome-Windows/AwesomeSSH · Windows OpenSSH Server · PowerShell · dotnet · MSYS2 sshd · Cygwin sshd · Git Bash sshd · WSL sshd · Terminal · Windows Terminal笔记:Windows Development Awesome List
FAQ
pwsh vs PowerShell
- pwsh.exe
- PowerShell v7+
- powershell.exe
- PowerShell v5
winget install --id Microsoft.PowerShell --source winget
# --scope machine 需要管理员权限
# winget install --id Microsoft.PowerShell --source winget --scope machine --installer-type wix
(Get-Command pwsh).Source
# C:\Users\$USER\AppData\Local\Microsoft\WindowsApps\pwsh.exepi Code Agent
- ~/.pi/agent/settings.json
{
"shellPath": "C:\\Program Files\\PowerShell\\7\\pwsh.exe"
}已在此计算机上禁用 Sudo。若要启用它,请转到“设置”应用中的 Developer Settings page
# 1. 开启 Sudo 功能
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Sudo" /v Enabled /t REG_DWORD /d 1 /f
# 2. 设置 Sudo 的配置模式(可选)
# 0 = 在新窗口中 (New Window)
# 1 = 禁用输入重定向 (Input Closed)
# 2 = 正常模式 (Inline) - 开发者通常最喜欢这个
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Sudo" /v SudoMode /t REG_DWORD /d 2 /f
# 开发人员模式
reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\AppModelUnlock" /v AllowDevelopmentWithoutDevLicense /t REG_DWORD /d 1 /f
sudo --versionWiX
- 构建 MSI
dotnet tool install --global wixUnable to persist credentials with the 'wincredman' credential store.
fatal: Unable to persist credentials with the 'wincredman' credential store.
See https://aka.ms/gcm/credstores for more information.关联信息
反向链接、本文链接的其他页面和外部资料。
参考资料
GitHub7 条
- Awesome-Windows/Awesomegithub.com/Awesome-Windows/Awesome
- g4-api/uia-peekgithub.com/g4-api/uia-peek
- microsoft/PowerToysgithub.com/microsoft/PowerToys
- microsoft/terminalgithub.com/microsoft/terminal
- microsoft/winget-cligithub.com/microsoft/winget-cli
- ScoopInstaller/Scoopgithub.com/ScoopInstaller/Scoop
- Wox-launcher/Woxgithub.com/Wox-launcher/Wox
其他外链11 条
- chocolatey.orgchocolatey.org/
- cmder.netcmder.net/
- docs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suitedocs.microsoft.com/en-us/sysinternals/downloads/sysinternals-suite
- docs.microsoft.com/en-us/windows/wsl/install-win10docs.microsoft.com/en-us/windows/wsl/install-win10
- gitforwindows.orggitforwindows.org/
- learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.6learn.microsoft.com/en-us/powershell/scripting/install/install-powershell-on-windows?view=powershell-7.6
- live.sysinternals.com/toolslive.sysinternals.com/tools
- microsoft.github.io/microsoft-ui-xamlmicrosoft.github.io/microsoft-ui-xaml
- processhacker.sourceforge.ioprocesshacker.sourceforge.io/
- www.microsoft.com/design/fluentwww.microsoft.com/design/fluent
- www.voidtools.comwww.voidtools.com/