PowerShell の出力をログに記録する必要があります。私のpsファイルは次のようなものです:
#Set-ExecutionPolicy Unrestricted
$ErrorActionPreference="SilentlyContinue"
Stop-Transcript | out-null
$ErrorActionPreference = "Continue"
$date = (Get-Date).tostring("MMddyy HHmmss")
$filename = 'C:\apierror\logs\' + $date + '.txt'
Start-Transcript -path $filename -append
$python = "C:\Python34\python.exe"
$python_path = "C:\script.py"
cd (split-path $python_path)
& $python $python_path
Stop-Transcript
これで、このファイルを PowerShell から直接実行すると、出力が正しくログに記録されます。しかし、タスクスケジューラから実行しようとすると、コンソール出力の一部のみがファイルに保存されます。
なぜそれが考えられるのでしょうか?