`Get-PSSubsystem` не распознан

PS C:\> Get-PSSubsystem вызывает ошибку

Get-PSSubsystem: The term 'Get-PSSubsystem' is not recognized as a name of a cmdlet, function, script file, or executable program.
Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

Согласно документации , Get-PSSubsystem является частью модуля Microsoft.PowerShell.Core, и указанный модуль нельзя установить?

Оснастка Microsoft.PowerShell.Core содержит командлеты и поставщики, которые управляют основными функциями PowerShell. PowerShell автоматически загружает оснастку Microsoft.PowerShell.Core при запуске. Это не модуль. Вы не можете импортировать его с помощью Import-Module или удалить с помощью Remove-Module.

источник цитаты


Сделал Get-Module Microsoft.PowerShell.Core -ListAvailable и ничего не вышло.

Попробовал другую команду Microsoft.PowerShell.Core (Add-History) и не получил ошибки.

Вывод Get-Help Subsystem | Select Name

Name
----
New-StorageSubsystemVirtualDisk
Set-StorageSubSystem
Debug-StorageSubSystem
Unregister-StorageSubsystem
Register-StorageSubsystem
Get-StorageSubSystem

`Get-Команда | sls Subsystem» вывел тот же список (но в другом порядке).


Если это актуально, вот результат $PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.4.5
PSEdition                      Core
GitCommitId                    7.4.5
OS                             Microsoft Windows 10.0.22631
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

🤔 А знаете ли вы, что...
PowerShell позволяет создавать скрипты для автоматизации рутинных задач и повышения производительности.


2
58
2

Ответы:

Возможно, у вас нет пакета «System.Management.Automation».

И вам следует его установить. По этому поводу есть еще одна тема:

https://stackoverflow.com/questions/1186270/referencing-system-management-automation-dll-in-visual-studio

Когда у вас будет этот пакет, вы сможете импортировать сам модуль или dll, если вам нужен только его класс. C:\windows\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Management.Automation.dll


Решено

Get-PSSubsystem

это экспериментальный командлет:

Обратите внимание

Это экспериментальная функция. Этот командлет доступен только в том случае, если включена функция PSSubsystemPluginModel. Дополнительную информацию см. в разделе Использование экспериментальных функций.

Это означает, что Get-PSSubsystem (пока) недоступен в текущей версии PowerShell 7.4.5, но он доступен в версии PowerShell.Preview 7.5.0.4.

Вы можете установить эту предварительную версию с помощью команды:

winget install --id Microsoft.Powershell.Preview --source winget

И как только вы его установите, вы сможете использовать эту предварительную версию, например. Windows - Start или запустив его из командной строки:

"C:\Program Files\PowerShell\7-preview\pwsh.exe" -WorkingDirectory ~
PowerShell 7.5.0-preview.4
$PSVersionTable

Name                           Value
----                           -----
PSVersion                      7.5.0-preview.4
PSEdition                      Core
GitCommitId                    7.5.0-preview.4
OS                             Microsoft Windows 10.0.19045
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0…}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

PS C:\> Get-PSSubsystem -?

NAME
    Get-PSSubsystem

SYNTAX
    Get-PSSubsystem [<CommonParameters>]

    Get-PSSubsystem -Kind {CommandPredictor | CrossPlatformDsc | FeedbackProvider} [<CommonParameters>]

    Get-PSSubsystem -SubsystemType <type> [<CommonParameters>]

...

⚠️ Внимание

Экспериментальные функции не предназначены для использования в рабочей среде, поскольку изменения могут быть критическими. Экспериментальные функции официально не поддерживаются. Тем не менее, мы ценим любые отзывы и сообщения об ошибках. Вы можете сообщать о проблемах в исходном репозитории GitHub.