我有一个PowerShell脚本,我使用PowerShell 5.1.17763.771在Windows 10设备上编写。它采用 .tgz 文件的路径,将其取消存档,并将提取的文件夹放在另一个路径中。它使用一两年前添加到PowerShell的内置tar
cmdlet执行此操作。它在我的机器上完全按照预期工作。
在 Windows Server 2016 上运行此同一脚本时,它失败tar
提示为无法识别的 cmdlet。在此服务器上运行的 PowerShell 版本是 5.1.14393.3471。我已经在服务器上运行了所有Windows更新。如何让本机tar
cmdlet 在 Windows Server 2016 上运行?是否有我缺少的PowerShell更新?是否可以安装包含tar
cmdlet 的Microsoft创建的模块?
tar
是一个外部可执行文件,tar.exe
,而不是一个cmdlet,虽然PowerShell可以调用它,但它与PowerShell无关。
在 Windows 10(自版本 1803 起(上,可以在C:WINDOWSsystem32tar.exe
.
这篇 2017 年的博客文章宣布了tar.exe
的可用性,以及容器上下文中的curl.exe
。tar.exe
是从 libarchive 源代码(BSD 许可的(编译的;适用于 Windows 的构建说明。
在Windows Server上,似乎tar.exe
和curl.exe
首先包含在Windows Server 2019中。
尽管有报道称 Windows 10 有焦油和卷曲......它们在Windows 2016数据中心上不存在...并尝试从 GNU 下载 tar...是一个压缩的tar文件,所以这也无济于事。