«HasMoreData» верно даже после Receive-Job

Я создаю простое фоновое задание в Powershell:

Start-Job {"Hello"}

Я проверяю с помощью Get-Job:

    Id        Name         State         HasMoreData      Location       Command
    --        ----         -----         -----------      --------       -------
    1         Job1         Completed     True             localhost      "Hello"

Затем я просто получаю вывод и снова запускаю Get-Job

Receive-Job 1
Get-Job

Я вижу что «HasMoreData» теперь ложно, потому что я не указал параметр -keep.

ОДНАКО: кажется, что всякий раз, когда я запускаю задание, а не с Start-Jobили Invoke-Command, этот параметр «HasMoreData» не изменяется на False.

Примеры:

Get-WMIObject win32_bios -AsJob
Test-Connection . -AsJob

Могу ли я обойти это (неправильное) поведение, чтобы свойство HasMoreData переключалось на False, если я не укажу -keep?

Спасибо!

Обновление : кажется, это для всех вызовов, сделанных с параметром -AsJob. Если вы запустите

Start-Job {Test-Connection .}

, он работает ("HasMoreData" становится False после Receive-Job), но

Test-Connection . -AsJob

не работает.

7
задан Joost 8 June 2012 в 07:23
поделиться