Write-Output -InputObject (, 'Test') -NoEnumerate - PullRequest
1 голос
/ 11 июля 2019

Я думаю, что это ошибка, которая относится только к PowerShell Windows 5.1:

Переключатель -NoEnumerate не работает, если ввод осуществляется через именованный аргумент -InputObject:

Следующая функция возвращает False:

Function Test {Write-Output -InputObject (,'Foo') -NoEnumerate} 
(Test) -is [Array]

Пока эта функция возвращает True:

Function Test {Write-Output (,'Foo') -NoEnumerate} 
(Test) -is [Array]

PowerShell Windows

Name                           Value
----                           -----
PSVersion                      5.1.17134.858
PSEdition                      Desktop
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
BuildVersion                   10.0.17134.858
CLRVersion                     4.0.30319.42000
WSManStackVersion              3.0
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1

Проблема не отображается в PowerShell Core .
(обе функции возвращают True)

Name                           Value
----                           -----
PSVersion                      6.2.0-preview.1
PSEdition                      Core
GitCommitId                    6.2.0-preview.1
OS                             Microsoft Windows 10.0.17134
Platform                       Win32NT
PSCompatibleVersions           {1.0, 2.0, 3.0, 4.0...}
PSRemotingProtocolVersion      2.3
SerializationVersion           1.1.0.1
WSManStackVersion              3.0

Есть примечание, хотяв описании командлета Write-Output относительно переключателя -NoEnumeration:

Примечание

Этот переключатель корректно работает только с PowerShellCore 6.2 и новее.В более старых версиях PowerShell Core коллекция все еще перечисляется даже с использованием этого переключателя.Поведение в PowerShell Core 6.2 соответствует Windows PowerShell.

(Если я правильно прочитал, я понимаю, что переключатель -NoEnumeration должен работать только для PowerShell Windows)

Я сообщил о проблеме здесь в Windows PowerShell [UserVoice] как указано здесь сообществом PowerShell GitHub , но похоже на черную дыру ... (я уже сообщал о проблемах, но вряд ли получил ответ).

Вопросы:
Это действительно ошибка или я пропустилчто-то?
Если это ошибка, Windows PowerShell [UserVoice] все еще правильный адрес, чтобы сообщить о такой проблеме?

...