Powershell Invoke-GPUpdate - возможно "Нет выхода"? - PullRequest
1 голос
/ 20 мая 2019

Требуется запустить Invoke-GPUPdate -force для группы удаленных компьютеров и ответить на запрос на выход из системы «Нет».

Попытка:

Echo "n" | invoke-gpupdate

Ошибка: Invoke-gpupdate не принимает конвейерный ввод

Используемая команда:

Invoke-GPUpdate -Computer $computer -RandomDelayInMinutes 0 -force

Picture of Logoff response to GPUpdate

1 Ответ

1 голос
/ 20 мая 2019

К сожалению, похоже, что этот командлет инициирует / планирует запуск gpupdate, который в конечном итоге происходит отдельно (вне процесса), поэтому с помощью стандартных способов PowerShell справиться с чем-то подобным не так уж и много, так как приглашение нене изнутри PowerShell.Есть параметр -LogOff, но это параметр-переключатель, который подразумевает, что его значение предназначено для использования только для выполнения выхода из системы.Вы можете попробовать это так: -Logoff:$false, но, скорее всего, избавиться от приглашения не получится.

Я думаю, что ваш лучший шанс - не использовать этот командлет, а вместо этого использовать Invoke-Command с gpupdate.exe напрямую:

Invoke-Command -ComputerName $computer -ScriptBlock {
    echo nn | gpupdate.exe /force
}

Но для этого необходимо, чтобы удаленное взаимодействие PowerShell было включено намашины, которыми вы хотите управлять.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...