在 Windows Sever 2016 上使用本机 tar PowerShell cmdlet



我有一个PowerShell脚本,我使用PowerShell 5.1.17763.771在Windows 10设备上编写。它采用 .tgz 文件的路径,将其取消存档,并将提取的文件夹放在另一个路径中。它使用一两年前添加到PowerShell的内置tarcmdlet执行此操作。它在我的机器上完全按照预期工作。

在 Windows Server 2016 上运行此同一脚本时,它失败tar提示为无法识别的 cmdlet。在此服务器上运行的 PowerShell 版本是 5.1.14393.3471。我已经在服务器上运行了所有Windows更新。如何让本机tarcmdlet 在 Windows Server 2016 上运行?是否有我缺少的PowerShell更新?是否可以安装包含tarcmdlet 的Microsoft创建的模块?

tar是一个外部可执行文件tar.exe,而不是一个cmdlet,虽然PowerShell可以调用它,但它与PowerShell无关。

在 Windows 10(自版本 1803 起(上,可以在C:WINDOWSsystem32tar.exe.

这篇 2017 年的博客文章宣布了tar.exe的可用性,以及容器上下文中的curl.exetar.exe是从 libarchive 源代码(BSD 许可的(编译的;适用于 Windows 的构建说明。

在Windows Server上,似乎tar.execurl.exe首先包含在Windows Server 2019中。

尽管有报道称 Windows 10 有焦油和卷曲......它们在Windows 2016数据中心上不存在...并尝试从 GNU 下载 tar...是一个压缩的tar文件,所以这也无济于事。

相关内容

最新更新