快生活 - 生活常识大全

一个重磅工具升级推出


  PowerShell是Windows和Windows Server的自动化平台和脚本语言,具有命令行界面,可为IT专业人员提供更多配置微软Windows系列操作系统的机会,是一种通用的管理工具,可让用户简化对系统的管理。与其他基于文本的外壳程序不同,PowerShell利用.NET Framework的功能,可提供丰富的对象和大量内置功能来控制Windows环境。
  近日,微软发布了PowerShell 7,这是其跨平台PowerShell核心自动化工具和配置框架的最新版本。这次更新带来了一些重大的变化、新的功能和改进的向后兼容性。展望未来,PowerShell 7将成为"一个真正的PowerShell",以取代之前Windows PowerShell和PowerShell核心之间的分层。
  此版本中最大的更改之一是从.NET Core 2.x升级到了3.1版。微软在发布该版本的博客文章中说:".NET Core 3.1带来了许多.NET Framework API,从而使它们与现有Windows PowerShell模块的向后兼容性大大提高。" "这包括Windows上许多需要GUI功能的模块,例如Out-GridView和Show-Command,以及Windows中附带的许多角色管理模块。"
  PowerShell安装目录改变
  在安装PowerShell 7时,它将安装到新目录中,并与PowerShell 5.1一起运行。如果要从PowerShell Core 6.x升级,将覆盖PowerShell 6目录,并删除所有不必要的文件。以下是安装目录列表:
  将PowerShell 7安装到%programfiles%PowerShell目录
  %programfiles%PowerShell 文件夹已添加到 $env:PATH
  PowerShell 7安装程序包将升级PowerShell Core 6.x的早期版本:
  Windows:%programfiles%PowerShell 替换为 %programfiles%PowerShell
  Linux: /opt/microsoft/powershell/6替换为 /opt/microsoft/powershell/7
  macOS: /usr/local/microsoft/powershell/6 替换为 /usr/local/microsoft/powershell/7
  PowerShell 7中的新功能
  管道并行化
  新的运算符
  ConciseView和Get-Error cmdlet
  自动新版本通知
  直接从PowerShell 7调用DSC资源
  兼容层
  在测试实际代码之前,请务必确保检查"环境变量"。
  1、管道并行化
  现在,使用ForEach-Object-Parallel时,可以并行执行或处理对象,而不是使用sequence方法。此方法可以在不到10秒的时间内卸下三个WIM映像,而不是按顺序运行时的近25秒。下面是它的示例代码:
  Get-WindowsImage -Mounted | foreach -Parallel {Measure-Command {Dismount-WindowsImage -Discard -Path $_.Path}}
  2、新运算符
  有三个新的三元运算符:a?b:c,管道链运算符;||和&&和Null条件运算符;??和??=。 它们的作用类似于一个简化的if-else语句,利用它们可以使编写代码变得容易,而不是一直使用If-else循环。
  3、ConciseView和Get-Error cmdlet
  ConciseView是一个用户可选择的视图,它是PowerShell 7的默认视图。如果错误不是来自脚本,将收到一个单行错误。如果来自脚本或存在解析错误,将收到一条多行错误消息以及一个指针,显示错误发生在哪一行。
  然后有一个新的cmdlet Get Error,可以帮助用户在需要时获得错误的详细视图。它可以显示最后发生的错误的完整详细信息,包括内部异常。
  $Error | Get-Error
  Get-Error -Newest 3 # Displays the last three errors that occurred in the session
  4、自动新版本通知
  从PowerShell 7开始,系统将每天检查一次更新,如果有新版本,系统将通知用户。此信息仅在后续会话开始时显示。
  PowerShell更新有三个标志:
  Default:GA、预览和RC版本
  Off:关闭更新通知功能
  LTS:只通知长期服务(LTS)GA版本的更新
  如果要在PowerShell 7中关闭更新通知,请在PowerShell窗口中执行以下命令:
  $Env:POWERSHELL_UPDATECHECK = "Off"
  5、直接从PowerShell 7调用DSC资源
  Invoke-DscResource cmdlet运行指定的PowerShell所需状态配置(DSC)资源的方法,这是一个实验功能。
  使用此cmdlet,配置管理产品可以通过使用DSC资源来管理Windows或Linux。当DSC引擎在启用调试的情况下运行时,此cmdlet还可启用资源调试。
  6、兼容层
  它允许PowerShell用户在隐式Windows PowerShell会话中导入模块。使用此功能,用户能够在远程计算机上将真实命令作为会话使用,并将结果返回到本地会话。现在它支持导入模块,用户可以在远程计算机上运行这些模块。
  PowerShell 7是跨平台的,它支持Windows,macOS和各种Linux版本,PowerShell是Linux和macOS上都可用的开源软件。很高兴在PowerShell 7中看到如此多的新功能,希望微软加大开发力度,开发出功能更强大的版本。
网站目录投稿:向真