今天给大家聊聊PowerShell的发展历程,以及各个版本之间有什么亮点。
1、PowerShell 1.0
- 发行日期:2006/11
- 默认集成版本:Windows Server 2008
- 支持其他版本:Windows Server 2003 SP1/SP2,Windows Server2003 R2, Windows XP SP2, and Windows Vista
- 最低:NetFramework:2.0
- 下载地址:无
版本特性
首个版本,提供的命令数量有129条。基于命令行界面,它提供了许多基本的系统管理命令,如文件操作、进程控制、网络配置等功能。
2、PowerShell 2.0
- 发行日期:2009/8● 默认集成版本:Windows Server 2008R2、Windows 7
- 支持其他版本:Windows Server 2008 SP1/SP2Windows VistaSP1/SP2Windows Server 2003 SP2,Windows XP SP3
- 最低:NetFramework:2.0
- 下载地址:无
版本特性
- 命令数量为624条
- 远程执行功能:可以通过主控计算机管控运行各个服务器的运行程序和结果。
- 事件支持:新增WMI系统事件的监听、转发、操作
- 后台Job:支持脚本任务后台执行
- 支持导入模块功能:可以增加或导入别的模块实现相应的功能。
- 支持新操作符:增加 -spilt和-join操作符。
- 错误处理机制:增加 try-catch-finally 处理逻辑
- 注释功能:新增了代码块注释功能
- 集成开发环境:新增集成开发环境让代码编写更加高效
3、PowerShell 3.0
- 发行日期:2012/12
- 默认集成版本:Windows Server 2012、Windows 8
- 支持其他版本:Windows 7 SP1.Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
- 最低:NetFramework:4.0
- 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=34595
版本特性
- 命数量增加到1000多条
- 定时执行Job:增加定时执行Job,可以编写计划任务程序
- 编码智能提示:在ISE开发环境中,支持编码智能提示,大大方便了代码的编写效率
- 模块自动加载:3.0之后的版本可以不用预加载模块,可以通过命令自动加载模块
- 管理任务委派:管理员可以把任务分配给其他用户执行相应的脚本
- 新增Session级别的可用性:支持网络断开后重连机制
- 帮助文档:新增了帮助文档自动更新。使用Update-Help命令。
4、PowerShell 4.0
- 发行日期:2015/5
- 默认集成版本:Windows Server 2012R2、Windows 8.1
- 支持其他版本:Windows 7 SP1.Windows Server 2008 R2 SP1 and Windows Server 2008 SP2
- 最低:NetFramework:4.5
- 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=42554
版本特性
- 网络诊断:支持诊断物机器和虚拟机的交换设备
- 新增DSC支持:新增了DSC设置和配置分发
- 默认执行策略变更:针对服务器版本的操作系统,执行策略调整为Remote-Sign
- Where筛选和ForEach轮询功能:提供了where筛选和ForEach轮询遍历功能
5、PowerShell 5.0
- 发行日期:2016/2
- 默认集成版本:Windows Server 2016技术预览版、Windows10
- 支持其他版本:Windows Server 2012 R2 、Windows Server 2012、Windows Server 2008 R2 、Windows 8.1、Windows 7 SP1
- 最低:NetFramework:4.5
- 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=50395
版本特性
- 支持面向对象语言:支持引入Class,从而可以实现面向对象编程。
- 构建自己的生态圈:支持新增nuget.net 环境下,实现第三方模块的快速下载和安装
6、PowerShell 5.1
- 发行日期:2016/8
- 默认集成版本:Windows Server 2016
- 支持其他版本:Windows 7 SP1、Windows Server 8.1、 Windows Server 2008 R2 SP1、Windows Server 2012、Windows Server 2012 R2
- 最低:NetFramework:4.5.2
- 下载地址:https://www.microsoft.com/en-us/download/details.aspx?id=54616
版本特性
● 新增了本地用户管理模块
● 5.1之后版本划分为桌面版和Core版本
7、PowerShell6.0 Core
- 发行日期:2018年1月
- 默认集成版本:Windows Server 2019版本当中
- 支持其他版本:Windows 7、Windows 8.1、Windows 10、Windows Server 2008 R2、Windows Server 2012 R2、Windows Server 2016、Ubuntu 14.04、Ubuntu 16.04、Ubuntu 18.04、CentOS 7、Red Hat Enterprise Linux 7、OpenSUSE 42.3以及macOS 10.12及更高版本。
- 最低:.NET Core 2.0版本
- 下载地址:无
版本特性
- 基于NetCore2.0 实现了真正意义上的跨平台。可以在Windows、Linux、MacOS运行PowerShell6.0。
- 增加了两个小版本更新:6.1 集成在Windows Server 2019版本当中,命令增加到1900多条;6.2 版本修复了一些Bug、在本地语言支持方面提供了增强功能
8、PowerShell7.0 Core
- 发行日期:2020年3月
- 默认集成版本:Windows Server 2019版本当中
- 支持其他版本:Windows 7、Windows 8.1、Windows 10、Windows Server 2008 R2、Windows Server 2012 R2、Windows Server 2016、Ubuntu 14.04、Ubuntu 16.04、Ubuntu 18.04、CentOS 7、Red Hat Enterprise Linux 7、OpenSUSE 42.3以及macOS 10.12及更高版本。
- 最低:.NET Core 3.0版本
- 下载地址:https://github.com/PowerShell/PowerShell/releases/tag/v7.0.0
版本特性
- 用ForEach-Object -Parallel进行管道并行化
- 新的运算符:
- 三元运算符:a ? b : c
- 管道链运算符:|| 和 &&
- 空分配和合并运算符:?? 和 ??=
- 简化的动态错误视图和Get-Error命令行工具,可更轻松地调查错误
- 兼容性层,使用户能够在隐式Windows PowerShell会话中导入模块
- 自动新版本通知
- 直接从PowerShell 7调用DSC资源的能力(实验性)