извиняюсь, если это действительно просто, но я очень плохо знаком с Powershell и все еще нахожу свой путь.
Итак, я пытаюсь собрать некоторые данные об использовании процессора и оперативной памяти, а затем записать их в файл. Я хочу, чтобы скрипт выполнялся в течение дня, запишите в файл и затем запустите снова на следующий день.
Фактический сбор данных выполняется как задание
$datacollector = Start-Job {
$totalRam = (Get-CimInstance Win32_PhysicalMemory | Measure-Object -Property capacity -Sum).Sum
while($true) {
$date = Get-Date -Format "yyyy-MM-dd HH:mm:ss"
$cpuTime = (Get-Counter '\Processor(_Total)\% Processor Time').CounterSamples.CookedValue
$availMem = (Get-Counter '\Memory\Available MBytes').CounterSamples.CookedValue
$date + ' > CPU: ' + $cpuTime.ToString("#,0.000") + '%, Avail. Mem.: ' +
$availMem.ToString("N0") + 'MB (' + (104857600 * $availMem / $totalRam).ToString("#,0.0") + '%)'
Start-Sleep -s 15
}} -Name datacollector
Затем я устанавливаю количество время, чтобы запустить его для
Start-Sleep -s 600
Завершить работу
Stop-Job datacollector
И записать данные в файл
Get-Job datacollector | Wait-Job | Receive-Job | Out-File C:\output.txt
Как мне установить, чтобы эта работа остановилась на определенное время c вместо использования команды Start-Sleep? Я уверен, что это что-то простое, но я просто не вижу этого.