Como eu exporto estatísticas do Gerenciador de Tarefas para um arquivo com o PowerShell?


-1

Eu quero ver se é possível canalizar o uso de CPU / memória e processos em algo como um csv a cada poucos minutos com o PowerShell.

Alguma ideia?

EDITAR:

Usando a "Lista de Tarefas", consegui enviar informações para um arquivo CSV:

tasklist /FO csv > *path*

Eu posso fazer isso em um agendamento com uma tarefa agendada, mas não é exatamente limpo como os dados são gravados em arquivos csv individuais.

EDIT2:

Eu abri um ticket com a Microsoft através do meu contato de suporte OEM. Monitor de desempenho é a solução ideal, mas como eu disse abaixo, não está funcionando como esperado. Eles estão investigando.


Você pode usar o Windows Performance Monitor para capturar CPU, uso de memória e muito mais.
Atzmon

O perfmon do @Atzmon não está funcionando como esperado para mim, já que o contador mbytes disponível está incorreto. Eu fiz outra pergunta sobre isso, mas não foi respondida. Essencialmente, ele está relatando 50% disponível quando, na verdade, nenhum está disponível de acordo com os Logs de eventos e o Gerenciador de tarefas.
selos

2
O cmdlet "Get-Process" fornece os números corretos? computerperformance.co.uk/powershell/powershell_process.htm
egray

@stamps O que você tentou?
raiz

@root ver editar.
selos

Respostas:


0

Você pode começar com isso.

Get-WMIObject WIN32_PROCESS | `
Sort-Object -Property ws -Descending | `
Select processname,@{Name="Mem Usage(MB)";Expression={[math]::round($_.ws / 1mb)}},@{Name="ProcessID";Expression={[String]$_.ProcessID}},@{Name="UserID";Expression={$_.getowner().user}} | `
Export-CSV test.csv -Append

Saída:

ProcessName    Mem Usage(MB)       ProcessID    UserID
OUTLOOK.EXE    180                 7132         username
chrome.exe     160                 208          username
WINWORD.EXE    158                 14100        username

Fonte


Graças a isso, agora preciso colocar em um cronograma uma forma de adicionar continuamente pontos de dados a um único arquivo.
selos

Ele já está usando-Append
root

0

Eu amo o Powershell, e você poderia fazer isso com o Powershell, mas por quê ?! Perfmon e Data Collector Sets são um ajuste muito melhor para essa tarefa. Consulte Monitorando o desempenho do Windows Server em um arquivo


Veja meus comentários acima. Eu falei diretamente com o suporte do Microsoft OEM. Eles determinaram que há um bug no PerfMon, que no meu caso é o que estou vendo - 50% de disponibilidade de RAM, enquanto que na realidade é de cerca de 4% de disponibilidade. Gerenciador de tarefas representa corretamente, mas PerfMon não.
selos
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.