Как я могу регистрировать все, что написано в окне powershell? - PullRequest
1 голос
/ 08 июня 2019

Мне нужно создать файл журнала для каждого действия, выполняемого этим сценарием.

Я попытался использовать перенаправление (>>), однако не могу получить выходные данные для фактической записи в файл.

while($true){

$FromMC = Get-ChildItem -Path "\\x\From MC" -Filter *.mpg
Write-Host "Checking '\\x\From MC' for files" -ForegroundColor Cyan
Write-Host $FromMC.count"Files Found" -ForegroundColor Cyan
Write-Host ""
ForEach($file in $FromMC){

    try{
        Move-Item -Filter 7ST* -Path $file.Fullname -Destination "\\x\programs\7TH STREET THEATER" -Verbose -Force -ErrorAction Stop
    }
    catch{...}
Write-Host "Pausing for"$ts.Minutes"minutes..." -ForegroundColor Cyan
Write-Host "Ctrl+C to Stop"
Write-Host ""
Start-Sleep -Seconds $ts.TotalSeconds
}

Я ожидаю, что выходные данные будут точно такими же, как "-verbose" в оболочке.Типы вывода: Write-Host, Verbose, Write-Warning

Мне кажется, что решение очень простое, и я просто пропускаю его.

1 Ответ

0 голосов
/ 08 июня 2019

Для записи всего, что обычно записывается на консоль, например -verbose, вы можете использовать Start-Transcript, а когда закончите Stop-Transcript.

Пример:

Start-Transcript -Path "C:\logs.txt"

#run code you want to capture

Stop-Transcript
...