2016-04-04 1 views
-1

У меня есть сценарий, который подключается к удаленному компьютеру с помощью Invoke-Command, а затем запускает блок сценариев. Все это прекрасно работает, однако я хотел бы знать, можно ли записать файл журнала на родительскую машину. Из-за брандмауэра на серверах родитель может подключиться к ребенку, но ребенок не может подключиться к родительскому.Файл записи вызова-команды на родительский компьютер

В тот момент, когда я использую Out-File, он создает этот файл на сервере, с которым я подключен. Я хотел бы найти способ создания этого файла и добавить его на сервере, с которого я подключаюсь.

ответ

1

Вывод в скриптблоке возвращается вызывающему абоненту. Просто подключите или перенаправьте вывод Invoke-Command в файл.

Invoke-Command -Computer ... -ScriptBlock {...} > 'C:\path\to\out.txt' 

или

Invoke-Command -Computer ... -ScriptBlock {...} | Out-File 'C:\path\to\out.txt' 
+0

Это не работает для меня, он писал в пустой файл. То, что я использовал, было: 'Invoke-Command -ComputerName $ server -Credential $ creds -ScriptBlock {Write-Host« Это с сервера »} | Out-File $ logFile' – steve

+0

Сортировка, мне нужно было использовать «Write-Output» вместо «Write-Host» – steve

+0

[Объяснение] (https://blogs.technet.microsoft.com/heyscriptingguy/2014/03/30/ понимание-потоки-перенаправление и запись-хост-в-PowerShell /). –

Смежные вопросы