Estoy tratando de imprimir información del Programador de tareas
del ordenador local en un script de PowerShell
para que otros usuarios también puedan imprimir esta información sin necesidad de acceder al Programador de tareas
. Necesito que el script imprima
- nombre,
- estado,
- desencadenantes,
- próxima ejecución,
- última ejecución,
- resultado de la última ejecución,
- autor,
- creado.
Puedo imprimir la información sobre el nombre, la próxima ejecución y la última ejecución, pero el resto no se imprime cuando ejecuto el script.
Ya he empezado un poco con mi script y he establecido los campos.
$schedule = new-object -com("Schedule.Service")
$schedule.connect()
$tasks = $schedule.getfolder("\").gettasks(0)
$tasks | select Name,Status,Triggers,NextRunTime,LastRunTime,LastRunResult,Author,Created | ft
foreach ($t in $tasks)
{
foreach ($a in $t.Actions)
{
$a.Path
}
}
Cualquier ayuda o sugerencia sería apreciada.
A continuación se muestra una captura de pantalla con lo que estoy buscando y qué campos no están imprimiendo datos:
1 votos
Está en blanco porque no está disponible en el objeto. Si ejecutas
$Tareas | Obtener-Miembro
¿Qué obtienes?1 votos
Mira lo que contiene
$tareas
. No tiene todo lo que quieres mostrar:Nombre
,Ruta
,Estado
,Habilitado
,HoraUltimaEjecución
,UltimoResultadoTarea
,NúmeroEjecucionesPerdidas
,PróximaEjecución
,Definición
,Xml
.0 votos
He actualizado mi respuesta ¿Todavía no tiene lo que necesita?
0 votos
Ahora veo con el comando get-members. No me di cuenta de que no estaba llamando a los campos específicos en los que estaba buscando datos. Soy nuevo en el scripting de powershell y pensé que era un campo predefinido en el que solo tenía que llamar. Entonces, con el comando get-member, ¿necesito especificar en mi variable $task aquellos que necesito como autor, creado y cualquier otra cosa?
0 votos
Al especificar "esos" me refiero, por ejemplo: ¿Necesito desencadenantes, por lo que hago
get.Triggers
para extraer los desencadenantes de esa tarea?0 votos
@BigHomie disculpa, olvidé etiquetarte en mi pregunta anterior