Búsqueda de sitios web

Seguimiento de su día con PowerShell


El código para obtener la ventana activa fue la parte más sencilla. Pero descubrí que necesitaba tener en cuenta situaciones en las que el proceso activo era para algo no interactivo. También descubrí que obtienes algunos artefactos extraños al usar Alt-Tab para alternar entre aplicaciones abiertas.

Una vez que tuve una colección de objetos que representaban las diferentes ventanas activas, me di cuenta de que sería útil tener un conjunto de herramientas para medir y analizar los datos, así que escribí una función para eso. El resultado final es un módulo de PowerShell al que llamo MyMonitor.

El módulo incluye un archivo de formato personalizado y el archivo .psm1 agrega algunas definiciones de tipos personalizados. El comando principal es Get-WindowTime. Este comando monitoreará sus ventanas durante una cantidad específica de minutos, hasta una fecha y hora específica, o si se detecta un proceso específico. Para realizar un seguimiento durante períodos de tiempo más largos, utilice el parámetro -AsJob.

Deberías terminar con datos como estos:

PS C:\work> $data[0..2]

Time        : 00:03:00.5083791
Application : Windows PowerShell
WindowTitle : Windows PowerShell 4.0
Product     : Microsoft® Windows® Operating System

Time        : 00:32:02.6150152
Application : Windows PowerShell ISE
WindowTitle : Administrator: Windows PowerShell ISE
Product     : Microsoft® Windows® Operating System

Time        : 00:13:47.6952161
Application : Virtual Machine Connection
WindowTitle : CHI-Win7 on WIN81-ENT-01 - Virtual Machine Connection
Product     : Microsoft® Windows® Operating System

Luego puede medir los datos.

PS C:\work> $data | Measure-WindowTotal | sort TotalTime

Application                                                 TotalTime
-----------                                                 ---------
Microsoft Word                                              00:00:34.3653455
Notepad                                                     00:00:34.3654881
Microsoft Management Console                                00:00:37.2989472
SAPIEN PowerShell Studio 2014                               00:00:51.5242522
Thunderbird                                                 00:01:55.6696204
Windows PowerShell                                          00:03:00.5083791
Google Chrome                                               00:06:34.6744841
Virtual Machine Connection                                  00:13:47.6952161
Windows PowerShell ISE                                      00:32:02.6150152

O ver cuánto tiempo pasaste en Facebook.

PS C:\work> $data | Measure-WindowTotal -filter facebook

Application                                                 TotalTime
-----------                                                 ---------
Google Chrome                                               00:03:23.1318619

Esto es de una pequeña muestra.

Mi módulo también incluye un tema acerca de, que publicaré aquí.

Espero que lo pruebes y me cuentes lo que piensas. Asegúrese de leer la ayuda y los ejemplos de todos los comandos.

Descargue el archivo zip MyMonitor y extráigalo a su carpeta de módulos.

Actualización: esto no rastreará aplicaciones de Windows 8 como Weather o Foo & Drink.

Artículos relacionados