PowerShell系列(三):PowerShell发展历程梳理

icegoblin
发布于 2023-8-17 14:23
浏览
0收藏

今天给大家聊聊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资源的能力(实验性)


文章转载自公众号:小明互联网技术分享社区

分类
标签
已于2023-8-17 14:23:21修改
收藏
回复
举报
回复
    相关推荐