バックグラウンドで関数を実行しようとしています。この関数は、常に一定時間待機する必要があります。で問題を解決しようとしましたstart-job
。しかし、成功しませんでした (ログは空です)。
私の機能
Start-Job { a1 }
function a1()
{
$timer = [diagnostics.stopwatch]::startnew()
while ($timer.elapsed.totalseconds -lt 30)
{
writelog "TESTTESTTEST" $timer.elapsed.totalseconds
start-sleep -seconds 5
}
$timer.stop()
}
ログ
function writelog([string]$func, [string] $Message, [string] $Value)
{
$loggingpath = $LogPath+(Get-Date -displayhint date -Format yyyyMMdd)+".txt"
Add-Content -Path $loggingpath -Value (" ")
Add-Content -Path $loggingpath -Value ("Date:" + (Get-Date))
Add-Content -Path $loggingpath -Value ("Function:" + ($func))
}
なしでコードを実行すると、start-job
すべて正常に動作します!