Я запускаю сценарий powershell, который при запуске с ISE выводит один набор значений, но когда одна и та же задача запускается через планировщик задач, кажется, добавляется второе значение, которое не отображается при запуске вручную. Код, который выполняется, как показано ниже:Странный результат сценария powershell при выполнении по запланированной задаче
import-module WebAdministration
$app_pool_name = <<app_pool_name_goes_here>>
$memused = ""
$cpuused = ""
$datetime = get-date -format s
$memused = Get-WmiObject Win32_process | where CommandLine -Match "$app_pool_name"
$id = dir IIS:\AppPools\$app_pool_name\WorkerProcesses\ | Select-Object -expand processId
$cpuUsed = Get-WmiObject Win32_PerfFormattedData_PerfProc_Process | where IDProcess -Match $id
Add-Content -path C:\Winsys\PSOutput\$app_pool_name-CPU-RAM_test.txt -value "$datetime,$($memUsed.workingsetsize),$($cpuUsed.PercentProcessorTime)"
При выполнении сценария вручную выход Возвращается:
Дата, Mem, CPU
2016-08-02T14: 09: 36,15062687744 , 0
2016-08-02T14: 09: 38,15062425600,0
При запуске сценария с помощью планировщика задач вывода возвращает:
Дата, Mem, процессор
2016-08-02T13: 58: 25,15065047040 624189440,0
2016-08-02T14: 05: 01,15061901312 624713728,0
Разница будучи Mem, по какой-то причине он добавляет дополнительную ценность. Кто-нибудь знает, почему это?
падение $ memused в другой файл, так что вы можете увидеть детали обоих процессов это управление забрать. –
Спасибо, это привело меня к правильному пути – Saf