Когда я запускаю определенные команды (Invoke-Command
или Start-Job
) в качестве фоновых заданий, PowerShell иногда печатает состояние задания при запуске задания.
Например (упрощенная команда здесь):
Invoke-Command -ComputerName $my_ip -FilePath "my_script.ps1" -ArgumentList $param_1 -AsJob
Эта команда выводит на консоль весь файл my_script.ps1
вместе со стартовым статусом, например:
State : Running
PSComputerName : 192.168.50.50
RunspaceId : 0c83a64d-318e-43c8-9bdb-68893eeb96c9
HasMoreData : True
StatusMessage :
Location : localhost
Command : <i><whole contents of my_script.ps1 printed here></i>
JobStateInfo : Running
<i>... <some more status info></i>
Я запускаю огромный набор скриптов и по какой-то причине меняюзначение $param_1
изменяет поведение печати между сводной информацией о начале задания печати (Format-Table
-подобный вывод) и выводом, показанным выше.
Мне удалось только изменить способ вывода вывода (междудва варианта выше) путем изменения места, где объявлены параметры.
Это может быть ошибкой в PowerShell, но я не уверен.Это приводит в бешенство, когда весь файл сценария печатается на консоли, и фактические отладочные отпечатки становятся трудными для обнаружения.