Модуль доступен, но не указан как установленный
Используя 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
должен делать?