Используйте собственный командлет tarShell PowerShell в Windows Sever 2016 - PullRequest
1 голос
/ 05 февраля 2020

У меня есть сценарий PowerShell, который я написал на устройстве Windows 10 с использованием PowerShell 5.1.17763.771. Он берет путь к файлу .tgz, разархивирует его и помещает извлеченную папку в другой путь. Это делается с помощью встроенного командлета tar, который добавлялся в PowerShell год или два go. Он работает точно так же, как и предполагалось на моем компьютере.

При запуске этого же сценария на Windows Server 2016 происходит сбой, говоря, что tar - нераспознанный командлет. Версия PowerShell, запущенная на этом сервере, - 5.1.14393.3471. Я запускаю каждое обновление Windows на сервере. Как заставить собственный командлет tar работать на Windows Server 2016? Есть ли какие-то обновления для PowerShell, которые мне не хватает? Могу ли я установить созданный Microsoft модуль, включающий командлет tar?

1 Ответ

2 голосов
/ 05 февраля 2020

tar является внешним исполняемым файлом , tar.exe, а не командлетом, и хотя PowerShell может вызвать его, он не связан с PowerShell.

На Windows 10 (по крайней мере, в последних версиях) его можно найти по адресу C:\WINDOWS\system32\tar.exe.

В этом блоге за 2017 год было объявлено о доступности tar.exe, наряду с curl.exe в контексте контейнеров . tar.exe скомпилирован из libarchive источников ( BSD-лицензирован ); инструкции по сборке для Windows.

Я не знаю, были ли когда-нибудь обновления для обычной установки Windows Server 2016.

...