CodeRoadMap
首页路线题库资源库文章社区
CodeRoadMap

程序员的学习成长路线图。内容免费开放,登录后可同步路线图与课时进度。

由 程序员柏风 独立维护 · 关于作者

学习

  • 路线图
  • 课程
  • 面试题
  • 文章
  • 我

更多

  • 资源
  • 社区
  • 关于作者
  • 内容说明

© 2026 CodeRoadMap

津ICP备2026012044号-1·津公网安备12011002026155号·coderoadmap@126.com
PowerShell 入门/课时/远程与会话
RawBlame
课时目录12 节

PowerShell 入门

  1. 01PowerShell 是什么
  2. 02Cmdlet 基础
  3. 03管道与对象
  4. 04变量与类型
  5. 05脚本与函数
  6. 06文件与路径
  7. 07远程与会话
  8. 08PowerShell vs Bash
  9. 09Windows 部署 CodeRoadMap
  10. 10GitHub Actions Windows
  11. 11Windows 容器简介
  12. 12综合练习

远程与会话

Enter-PSSession、Invoke-Command 概念。

30 分钟

远程与会话

PowerShell 远程 基于 WinRM(Windows Remote Management), cmdlet 如 Enter-PSSession、Invoke-Command。CodeRoadMap 生产跑 Linux SSH(linux-ssh);Windows 远程多用于域控、IIS 服务器或混合云。

学习目标

  • 理解 WinRM 与 SSH 远程的区别
  • 会用 Invoke-Command 在远程机器执行脚本块
  • 知道何时选 PowerShell 远程 vs Linux SSH

核心内容

WinRM 基础

# 客户端:测试连通(需目标已启用 WinRM)
Test-WSMan -ComputerName win-server.example.com

# 交互式远程 Shell(类似 ssh)
Enter-PSSession -ComputerName win-server.example.com -Credential (Get-Credential)

首次连接可能提示信任主机;生产环境应配置 HTTPS WinRM 与证书。

Invoke-Command

$scriptBlock = {
  Get-NetTCPConnection -LocalPort 8080 -State Listen -ErrorAction SilentlyContinue
}

Invoke-Command -ComputerName win-server -ScriptBlock $scriptBlock -Credential $cred

-ScriptBlock 在 远程机器 执行;返回结果自动序列化为对象传回本地。

与 SSH 对照

PowerShell 远程Linux SSH
协议WinRM (5985/5986)SSH (22)
入口Enter-PSSessionssh user@host
对象管道支持(远程 cmdlet)纯文本
本站场景Windows Server 可选主要生产环境

OpenSSH 也可在 Windows 上启用:ssh user@win-host,与 linux-ssh 命令一致。

会话与持久连接

$s = New-PSSession -ComputerName win-server -Credential $cred
Invoke-Command -Session $s -ScriptBlock { Get-Process java }
Remove-PSSession $s

New-PSSession 复用连接,批量命令比多次 Invoke-Command -ComputerName 更快。

安全注意

  • 勿在脚本中硬编码密码;用 Get-Credential 或 Secret Management
  • 远程执行等同于高权限操作,最小授权
  • CodeRoadMap 部署优先 Git + CI(github-actions-essentials),减少交互式远程

练习

  • 本机运行 Get-Service WinRM,确认 WinRM 状态
  • 写 ScriptBlock 检查远程(或本机)8080 端口
  • 对比:同一任务用 SSH 与 Enter-PSSession 的命令差异

小结

Invoke-Command 在远程跑 ScriptBlock;生产 Linux 用 SSH,Windows Server 用 WinRM。 下一课 PowerShell vs Bash。

加载本节练习…
← 上一课文件与路径下一课 →PowerShell vs Bash