【51CTO.com快译】在过去几年,微软的PowerShell(PS)编程语言历经多次修订。除了更新颖的Windows操作系统中受支持功能方面的改进外,PowerShell还走开源道路,包含支持Linux和macOS的功能,并将其开发网站移至GitHub,以便从全球的开发者、程序员和IT管理员得到更大的社区支持。
即将发布的PowerShell的下一版本是7.0。虽然PowerShell 7.0仍在开发中,但微软一直在为用户提供可供下载和测试的发行候选版。
这些是微软正在为PowerShell 7.0开发的一些新功能。注意:微软仍在积极地开发最终版代码,因此某些目前还没有的功能可能会出现在最终版中。反过来,随着开发周期临近最终版,可能会去除(全部或部分)目前实现的功能。
.NET Core 3
在向开源道路转变之前,PowerShell只基于Windows,并基于.NET框架。一旦向开源转变,微软就对PowerShell语言进行了分叉,针对支持所有操作系统的.NET Core修改了底层框架,让PowerShell可以在Linux和macOS以及Windows上运行。
PowerShell Core(PSC)方面要注意的方面是,管理员依赖的许多cmdlet尚未移植过来。然而,开发人员一直在努力通过将来的更新和新版本来弥合这一差距。
Windows兼容性
新版本PowerShell Core的主要目标之一是,在可用的cmdlet数量方面缩小PS版本(非核心)与PSC版本之间的差距。仅面向Windows的PowerShell(非核心)拥有大部分的受支持cmdlet,但这种情况在慢慢改变。版本7.0的一个目标是增强与模块的兼容性,以便在这些版本之间实现同等,那样管理员可以无缝地全面迁移到PowerShell Core。
长期支持(LTS)
微软通常支持应用程序一段时间,然后改而支持该应用程序的最新版本,因而实际上放弃对较早版本的支持。PowerShell对此并不陌生。然而,改用.NET Core也将与微软在该产品系列方面形成的支持节奏保持一致。每月将提供预览版,以便尽早获得反馈。更重要的是,与当前版本相比,LTS版本会在最初发行后三年内得到支持,而当前版本仅在随后的当前或LTS版本发布后的三个月内得到支持。
安全登录信息管理
脚本编写常常可以通过自动化任务来简化IT管理员的工作,既体现在数量上(即需要维护的脚本数量),又体现在质量上(即标准化管理)。但由于越来越依赖本地、云和混合资源,可能导致需要多个登录信息(credential)的众多资源无法正常运行。PowerShell包含了用于在一定程度上保护登录信息安全的方法,以便不添加明文格式的登录信息,不将登录信息嵌入到脚本中。
为了更进一步,微软正在努力创建登录信息存储区。该存储区将充当安全存储库,以便通过存储区本地或远程维护管理员登录信息,那样用户就根本不必以不安全的方式输入登录信息。
集中日志
PowerShell的日志记录功能仅限于本地计算机。无论何时执行脚本和cmdlet(无论在本地执行还是远程执行),生成的日志都保留在运行cmdlet的本地设备上。这样一来,梳理日志以获取有关问题的反馈非常耗时,需要用户单独浏览所有那些设备。PowerShell 7.0通过策略对日志收集实行标准化,该策略会将所有日志指向目标系统(或syslog类型的服务器),以实现与操作系统无关的集中式管理。
原文5 changes coming to PowerShell 7.0,作者:Jesus Vigo
【51CTO译稿,合作站点转载请注明原文译者和出处为51CTO.com】