Модуль доступен, но не указан как установленный

Используя PowerShell (версия 5.1.17134.228), обнаружил некоторые неожиданные различия между Get-Module а также Get-InstalledModuleв том, что некоторые модули, которые я ожидаю, будут возвращены Get-InstalledModule не.

В качестве примера:

Get-Module -ListAvailable -Name 'Hyper-V'

Get-InstalledModule -Name 'Hyper-V'

Выход:

PS C: \> Get-Module -ListAvailable -Имя 'Hyper-V'


    Каталог: C:\WINDOWS\system32\WindowsPowerShell\v1.0\Modules


Имя версии ModuleType      ExportedCommands
---------- -------    ----      ----------------
Двоичный 2.0.0.0    Hyper-V   {Add-VMAssignableDevice, Add-VMDvdDrive, Add-VMFibreChannelHba, Add-VMGpuPartitionAdapter...}
Двоичный 1.1        Hyper-V   {Add-VMDvdDrive, Add-VMFibreChannelHba, Add-VMHardDiskDrive, Add-VMMigrationNetwork...}


PS C:\> Get-InstalledModule -Name 'Hyper-V'
PackageManagement\Get-Package: не найдено совпадений для указанного поиска
критерии и названия модулей "Hyper-V".
В C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.6.5\PSModule.psm1:9125 char:9
+         PackageManagement\Get-Package @PSBoundParameters | Microsoft. ...
+         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo: ObjectNotFound: (Microsoft.Power...let.GetPackage:GetPackage) [Get-Package], Исключение
    + FullyQualifiedErrorId: NoMatchFound,Microsoft.PowerShell.PackageManagement.Cmdlets.GetPackage

Как видите, Get-Module команда возвращает локальный путь модулей Hyper-V, поэтому она определенно установлена ​​локально, но Get-InstalledModule не могу найти модуль.

Это ошибка или я неправильно понял, что Get-InstalledModule должен делать?

0 ответов

Другие вопросы по тегам