首 页
手机版

powershell mac版 v7.6.0官方版

一种命令行shell和一种脚本语言!

powershell 7 for mac是针对苹果mac系统而开发的一款PowerShell的跨平台、现代化版本,此版本基于.NET Core构建,实现了从.NET Core 2.x到3.1的成功迁移,这一转变不仅彰显了PowerShell生态的升级,更确保了PowerShell 7相较于其前身拥有更强的向后兼容性。同时新的语法带来了更多的便捷,显著提升了兼容性,尤其强调与Windows、Linux和Mac的兼容性,标志着Windows PowerShell在向后兼容性方面的成熟。

与前作相比,微软powershell 7 for mac引入了全新的生命周期管理策略,使其与.NET Core的支持周期相契合;同时替换了WindowsPowerShell5.1,增强Windows兼容性;还改进安全凭证管理,创建凭据存储以保护管理员凭据;以及实现集中记录,标准化日志收集至目标系统,简化日志管理,以上改进旨在提升PowerShell的跨平台能力、安全性和易用性,使其成为更强大的自动化工具,快免费下载体验吧。

微软powershell 7 for mac

基本介绍

一、发现 PowerShell

PowerShell 是一种命令行 shell 和一种脚本语言。 PowerShell 在 Windows 上启动,可帮助自动执行管理任务。 现在,它跨平台运行,可用于各种任务。
使 PowerShell 唯一的是它接受并返回 .NET 对象,而不是文本。 使用此功能可以更轻松地连接 管道中的不同命令。

二、PowerShell可以用来做什么?

最初,PowerShell 是仅限 Windows 的。 现在,它是跨平台的,可用于各种任务,例如:

1、云管理。 PowerShell 可用于管理云资源。 例如,可以检索信息、更新或部署新资源。

2、CI/CD。 它还可用作持续集成/持续部署管道的一部分。

3、自动执行 Active Directory 和 Exchange 的任务。 你可以使用它自动执行 Windows 上几乎任何任务,例如在 Active Directory 中创建用户和 Exchange 中的邮箱。

三、谁使用 PowerShell?

PowerShell 是一种功能强大的工具,可帮助从事多种角色的人员。 传统上,系统管理员使用 PowerShell。 现在,它被自称为 DevOps、Cloud Ops 甚至开发人员的人所使用。

四、PowerShell cmdlet

PowerShell 附带数百个预安装的命令。 PowerShell 命令称为 cmdlet(发音为 命令莱特)。

每个 cmdlet 的名称由 Verb-Noun 对组成。 例如,Get-Process。 通过此命名约定,可以更轻松地了解 cmdlet 的作用。 此外,还可以更轻松地查找您寻找的命令。 查找要使用的 cmdlet 时,可以筛选谓词或名词。

五、使用 cmdlet 浏览 PowerShell

当你第一次拿起 PowerShell 时,它可能会感到令人生畏,因为似乎有很多东西要学习。 PowerShell 旨在帮助你按需逐步学习。

PowerShell 包含可帮助探索 PowerShell 的 cmdlet。 使用这四个 cmdlet,您可以发现哪些命令是可用的,它们的作用是什么,以及它们所操作的类型。

1、Get-Verb。 运行此命令将返回大多数命令所遵循的谓词列表。 响应包括这些动词执行的描述。 由于大多数命令都遵循此命名约定,因此它会设定命令的作用预期。 此命令可帮助你在创建自己的命令时选择适当的动词和命名方式。

2、Get-Command。 此命令检索计算机上安装的所有命令的列表。

3、Get-Member。 它基于对象的输出进行作,能够发现哪些对象、属性和方法可用于命令。

4、Get-Help。 以命令名称作为参数调用此命令将显示描述命令的各个部分的帮助页。

使用这些命令,几乎可以发现有关 PowerShell 所需的任何内容。

微软powershell 7新特性

一、兼容性

PowerShell 7致力于 缩小与PowerShell Core在cmdlet数量上的差距,力求 提升模块兼容性,实现版本间的奇偶校验,从而使得管理员能更顺畅地迁移至PowerShell Core。

二、长期支持(LTS)

微软将为 PowerShell 采用新的生命周期,发布 LTS 和非 LTS 版本的 PowerShell 7,使其与 .NET Core 支持的生命周期紧密保持一致。每月将提供预览版本,以便尽早获得反馈。与当前发行版相比,LTS 发行版将在最初发行后的三年内得到支持,而当前发行版仅在随后的当前发行版或 LTS 发行后的三个月内得到支持。

三、安全凭证管理

在IT管理中,脚本常用于自动化任务,但随着对本地、云及混合资源的依赖加深,单一凭据难以应对多资源需求。PowerShell 7提供了多种 方法保护凭据,避免在脚本中嵌入明文凭证。微软正致力于创建 安全存储库,以存储并保护本地或远程管理员的凭据,确保用户无需以不安全的方式输入凭据。

四、集中记录

PowerShell 的日志记录功能仅限于本地计算机,执行脚本和 cmdlet 生成的日志都会保留在运行 cmdlet 的本地设备上。这样可以对日志进行排序,以获取有关问题的反馈,但却非常耗时,需要用户分别查看所有设备。PowerShell 7.0 通过策略将日志收集标准化,该策略会将所有日志定向到目标系统(或 syslog 类型的服务器),以进行 OS 无关的集中式管理。

系统要求

PowerShell 7 目前支持 x64 上的以下作系统,包括:

1、Windows 8.1 和 10

2、Windows Server 2012、2012 R2、2016 和 2019

3、macOS 10.13+

4、红帽企业Linux(RHEL)/ CentOS 7

5、Fedora 30+

6、Debian 9

7、Ubuntu LTS 16.04+

8、Alpine Linux 3.8+

此外,PowerShell 7.0 支持 Debian、Ubuntu 和 ARM64 的 ARM32 和 ARM64 版本 Alpine Linux。

powershell 7新功能:

一、更新的模块

PowerShell 7.6 包含以下更新的模块:

1、Microsoft.PowerShell.PSResourceGet v1.2.0

2、PSReadLine v2.4.5

3、Microsoft.PowerShell.ThreadJob v2.2.0

二、重大更改

1、Microsoft.PowerShell.ThreadJob 替换 ThreadJob 模块。 该 Start-ThreadJob cmdlet 未更改,因此,除非有使用模块限定名称的脚本,否则不应产生影响。 如果使用模块限定名称,请将名称更新为 Microsoft.PowerShell.ThreadJob\Start-ThreadJob。

2、修复 WildcardPattern.Escape 以正确转义单独的反撇号 

3、将 -ChildPath 参数转换为 string[] cmdlet 的 Join-Path 

4、从事件源名称中删除尾随空格

三、Tab 自动补全改进

1、将别名正确扩展为其解析后的实际命令

2、在参数补全功能中使用参数 HelpMessage 作为工具提示

3、从完成结果中删除重复模块

4、为ArrayLiteralAst和ParenExpressionAst中分配的变量添加代码补全功能

5、修复 env/function 变量的选项卡补全

6、更新命名和语句块类型推断,不将 AssignmentStatements 和递增/递减运算符视为其输出的一部分

7、为 -PropertyType (New-ItemProperty) 添加参数补全器

8、为 -Noun 的 Get-Command 参数添加完成单引号/双引号支持

9、为 -PSEdition 的 Get-Module 参数添加完成单引号/双引号支持

10、将 AnalysisCache 中的 InvalidCommandNameCharacters 转换为 SearchValues<char> 以进行更高效的字符搜索

11、将补全器中的 s_charactersRequiringQuotes 转换为 SearchValues<char> 以实现更高效的字符搜索

12、将带有无效路径/文件名的调用更新为 IndexOfAny(),以便于使用 SearchValues<char> 进行更高效的字符搜索

13、将char[]数组替换为CompletionRequiresQuotes中的缓存SearchValues<char>

14、使用单个帮助程序方法在 Verb、StrictModeVersion、Scope 和 PropertyType 参数完成器中添加引号处理

15、使用提供程序和空格修复了共享补全问题

16、改进变量类型推理

17、为哈希表密钥补全添加工具提示

18、修复经典函数中参数的类型推理 

19、改进工作分配类型推理

20、在推断变量 (#25224) 时排除同CommandAst一范围内的 OutVariable 赋值

21、修复了脚本要求失败时的参数补全问题

22、改进了属性参数的补全功能

23、修复了依赖于脚本块中的伪绑定的补全功能

24、不要完成重复的命令名称

25、为通过命令重定向分配的变量添加补全

26、修复了 TypeName.GetReflectionType(),使其在 TypeName 实例表示 GenericTypeName 中的泛型类型定义时能够正常工作

27、更新变量/属性赋值的完成机制,使其可以回退到类型推断

28、处理重定向命令的类型推理

29、使用 Get-Help 方法查找具有正确区域设置的 about_*.help.txt 文件以进行补全

30、修复了在 Do 循环内分配的变量补全问题

31、修复了当路径返回自身而不是其子路径时的提供程序路径补全问题

32、能够在不指定范围的情况下补全作用域变量

33、修复了在非文件系统提供程序中使用通配符完成路径时结果不完整的问题 

四、Cmdlet 改进

1、将参数添加到 -DelimiterGet-Clipboard

2、通过将过时的 BinaryFormatter 替换为自定义实现(#25497)来修复

3、改进 Web cmdlet 中的详细和调试日志记录级别的消息传递

4、改进 Web cmdlet 请求和响应的调试日志记录

5、添加参数 Register-ArgumentCompleter -NativeFallback,以支持为本机命令注册通用补全器

6、在-Target中将New-Item视为字面意思

7、更新 Windows 上包管理器可执行文件的 PATH 环境变量

8、更新 Get-Service 以在检索服务的非关键属性时忽略常见错误

9、为 Join-String Argument Completer 添加单引号/双引号支持

10、删除IsScreenReaderActive()检查

11、$using改进 (Invoke-Command) 中的表达式支持

12、1、将默认反馈提供程序超时从 300 毫秒更改为 1000 毫秒

13、在 [bigint] 强制转换中添加对千位分隔符的支持

14、为重载跟踪添加 MethodInvocation 跟踪

15、修复了忽略数组字面量中的注释的问题 (ConvertFrom-Json)

16、修复 -Debug 以不触发 ShouldProcess 提示

17、修复 Write-Host 以尊重 OutputRendering = PlainText

18、修复了魔法范围的调试跟踪错误

19、修复路径中包含双引号字符的问题

20、修复高级函数的通用参数 -ProgressAction

21、修复了从多个线程将进度记录写入控制台时的NullReferenceException问题

22、在 (FileSystemProvider.CreateDirectory) 中使用绝对路径

23、使继承的保护性内部实例成员在 PowerShell 类的作用域中可访问

24、添加内部方法以检查首选项

25、将参数添加到 -ExcludeModuleGet-Command 

26、列出备用数据流时返回正确的 FileName 属性 Get-Item

27、修复了 Get-ItemProperty 以报告强制转换异常的非终止错误

28、修复了关于 q 处理 XmlNode 对象方法的一个 bug

29、传递无效目录名称时 New-Item -Force 出错

30、允许 Start-Transcript 使用 $Transcript 包装的 PSObject 字符串来指定转录路径

31、提高 Start-Process -Wait 投票效率

32、通过短名称添加模块完成功能

五、引擎改进

1、修复 API CompletionCompleters.CompleteFilename() 中导致 null 引用异常的回归

2、创建子 ssh 进程后关闭管道客户端句柄

3、更新 PSDiagnostics 模块以在 PowerShell 7 中管理 PowerShellCore 提供程序

4、允许使用环境变量 POWERSHELL_DIAGNOSTICS_OPTOUT 选择退出命名管道侦听器

5、确保仅在令牌验证期间设置套接字超时 

6、修复 stderr 控制台主机的输出以确保遵循 NO_COLOR 

7、更新 PSRP 协议以弃用较新的客户端和服务器之间的会话密钥交换

8、ssh修复默认 Runspace 不可用时路径检查 SSHConnectionInfo 

9、为本机命令退出代码添加十六进制格式

10、修复变量类型推理中的无限循环崩溃

11、添加 PSForEach 和 PSWhere 作为 PowerShell 内部方法 Where 和 Foreach 的别名

12、向遥测收集列表添加了 AIShell 模块

13、在 EnumSingleTypeConverter 中添加了辅助函数以将枚举名称作为数组获取

14、更新 X509Certificate2 的 DnsNameList 以使用X509SubjectAlternativeNameExtension.EnumerateDnsNames()方法 

15、将带有空异常消息的 ErrorRecord 字符串化为空字符串

16、将 PipelineStopToken 添加到 Cmdlet 以在管道停止时发出信号

17、在 WldpCanExecuteFile 后回退到 AppLocker

18、在完成方法参数所需的类型转换后,将 .NET 方法调用日志记录移到该步骤之后

19、修复变量类型推理中的无限循环

20、删除旧的模糊建议并修复本地脚本文件名建议

21、使 SystemPolicy 公共 API 在 Unix 平台上可见,但不执行操作,以便将其包含在 PowerShellStandard.Library中。

22、使用 -NoNewWindow 启动进程时明确设置标准句柄

23、修复了变量扩展工具提示并包括了描述

24、在完成使用语句的相对路径时使用脚本文件路径

25、允许 DSC 通过 OS 体系结构转换层进行分析

六、实验性功能

PowerShell 7.6 包括对实验功能的以下更改。

以下功能已转换为主流功能:

1、PSFeedbackProvider

2、PSNativeWindowsTildeExpansion

3、PSRedirectToVariable

4、PSSubsystemPluginModel

此版本包括以下实验性功能:

1、PSSerializeJSONLongEnumAsNumber - ConvertTo-Json 现在将大型枚举视为数字

2、PSProfileDSCResource - 为 PowerShell 配置文件添加 DSC v3 资源

收起介绍展开介绍
  • 下载地址
  • 电脑版

发表评论

0条评论