PowerShell-х Install-Module
Командлет загружает один или несколько модулей из хранилища и устанавливает их на локальный компьютер. Но когда вы бежите Install-Module
, вы можете получить следующую ошибку:
Install-Module: команда «Install-Module» была найдена в модуле «PowerShellGet», но модуль не может быть загружен. Для получения дополнительной информации запустите «Import-Module PowerShellGet».
В строке: 1 символ: 1
+ Установить-модуль
+ ~~~~~~~~~~~~~~
+ CategoryInfo: ObjectNotFound: (Install-Module: String) [], CommandNo
Install-Module
Командлет доступен только в PowerShell 5.1 выше и Windows 7 8 системам требовалось обновить версию PowerShell, чтобы использовать этот командлет. Однако в Windows 7, 8 системах с более старыми версиями PowerShell при выполнении команды отображается следующая ошибка, которая немного отличается от приведенной выше:
«Install-Module» не распознается как имя командлета, функции, файла сценария или работоспособной программы.
Однако вышеуказанная ошибка также может возникать на компьютере с Windows 10, который уже включает PowerShell 5.1. Запуск $PSVersiontable
Команда показала версию PowerShell в моей системе Windows 10 v1903 как 5.1.18362.145.
PSVersion 5.1.18362.145 PSEdition Desktop PSCompatibleVersions {1.0, 2.0, 3.0, 4.0...} BuildVersion 10.0.18362.145 CLRVersion 4.0.30319.42000 WSManStackVersion 3.0 PSRemotingProtocolVersion 2.3 SerializationVersion 1.1.0.1
Тогда почему не Install-Module
Командлет работает?
Команда Install-Module была найдена в модуле PowerShellGet
Ошибка Команда Install-Module была найдена происходит, если политика выполнения скрипта установлена на Ограниченный. Чтобы использовать командлет, установите для политики выполнения значение неограниченный, используя следующую команду.
Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope Process
Приведенная выше команда устанавливает политику выполнения неограниченный для ток Сессия PowerShell.
Если вы хотите установить его навсегда для текущий пользователь, затем используйте эту команду:
Set-ExecutionPolicy Unrestricted -Scope CurrentUser
Чтобы установить его постоянно для местная машина, используйте эту команду от повышенного уровня или администратора PowerShell:
Set-ExecutionPolicy Unrestricted -Scope LocalMachine
Для получения дополнительной информации см. Документацию Microsoft по Set-ExecutionPolicy.