El script de Powershell que se ejecuta en el Programador de tareas no produce resultados

El script de Powershell que se ejecuta en el Programador de tareas no produce resultados

Estoy intentando ejecutar un archivo de secuencia de comandos de Powershell como una tarea programada en Windows Server 2012. La secuencia de comandos selecciona eventos en el Visor de eventos usando un filtro xml y los guarda en un archivo de texto. El archivo de secuencia de comandos se denomina Sugar2SvcNowLog.ps1 y contiene este texto:

Get-WinEvent -FilterXml ([xml] (Get-Content "Desktop\Sugar2SvcNow.xml")) | format-table ProviderName, TimeCreated, Id, LevelDisplayName, message -wrap -autosize | Out-File -FilePath "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog $(get-date -f yyyy-MM-dd_HHmmss).txt"

Este script crea un archivo de texto exactamente como se esperaba cuando lo ejecuto en el símbolo del sistema de Windows de esta manera:

powershell -file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

Luego, configuré un trabajo del Programador de tareas donde se configuró el programa a ejecutar "powershell"y los argumentos son

-file "C:\Users\yvoloshin_pdadmin\Desktop\Sugar2SvcNowLog.ps1"

Cuando se ejecuta el trabajo, el estado se muestra como "la operación se completó correctamente". Pero no se genera un archivo de texto. ¿Cómo se puede completar la operación con éxito si no se genera el archivo? ¿Qué debo hacer diferente?

Respuesta1

Su guión se refiere a Desktop.

Sin embargo, cuando se ejecuta desde el Programador de tareas, no hay inicio de sesión de usuario ni escritorio.

Sugiero poner el archivo Sugar2SvcNow.xmlen alguna carpeta y proporcionar su ruta completa en el script.

información relacionada