Использование Start / Stop-Transcript с Invoke-Command On Windows server 2012 R2 и 2016 - PullRequest
1 голос
/ 19 марта 2020

Я пытаюсь выполнять действия на серверах удаленно и регистрировать каждый, используя функцию transcript.

Вопрос: Есть ли способ получить информацию о серверах 2012 R2 (то же самое? 2016) с start-transcript с использованием invoke-команды? Или же просто напечатайте вывод консоли PowerShell в файле журнала

Вот лог c:

function DoLogic() {
    #Algo / Actions
    Write-Host "TEST"
}

$servers = "server1","server2", "etc"

Start-Transcript -Path "E:\tmp\transcript.txt" -Verbose          
foreach ($server in $servers) {

    Write-Host "Server: " -NoNewline
    Write-Host "$server " -ForegroundColor Yellow
    Invoke-Command -ComputerName $server -ScriptBlock ${Function:DoLogic}   
}
Stop-Transcript

Подразумевается, что server1 - это 2012 R2, а server2 - это 2016

Проблема в том, что выходные данные стенограммы:

Сервер:

server1

Сервер:

server2

ИНФОРМАЦИЯ: Привет


Вывод консоли Powershell:

Транскрипция запущена, файл вывода E: \ tmp \ transcript.txt

Сервер: сервер1

Привет

Сервер: сервер2

Привет

Транскрипция остановлена, выходной файл E: \ tmp \ transcript.txt


1 Ответ

1 голос
/ 22 апреля 2020

Попробуйте запись-вывод вместо записи-хоста

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