首页 > 解决方案 > 在 Windows Sever 2016 上使用本机 tar PowerShell cmdlet

问题描述

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

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

标签: windowspowershelltarwindows-server-2016libarchive

解决方案


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

在 Windows 10(自版本 1803 起)上,可以在C:\WINDOWS\system32\tar.exe.

tar.exe这篇2017年的博客文章宣布了curl.exe容器可用性。 tar.exelibarchive源代码编译(BSD 许可);适用于 Windows 的构建说明

在 Windows Server 上,它似乎tar.exe并且curl.exe首先包含在 Windows Server 2019 中。


推荐阅读