PowerShell系列(三):PowerShell发展历程梳理
今天给大家聊聊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资源的能力(实验性)
文章转载自公众号:小明互联网技术分享社区