Завершить работу Powershell в указанное время c - PullRequest
0 голосов
/ 16 апреля 2020

извиняюсь, если это действительно просто, но я очень плохо знаком с 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? Я уверен, что это что-то простое, но я просто не вижу этого.

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