Página 1 de 1

crear una tarea programada de PowerShell

Publicado: 10 de agosto de 2021 - 15:57
por Discovery
Hola,
necesito crear una tarea programada en servidores Windows 2012 usando WAPT.
Cada tarea programada debe ejecutar un archivo llamado servername_sftp-backup.ps1.
No logro pasar el nombre del archivo como parámetro; Creo que las comillas simples y dobles están causando problemas.
El mensaje de error no es claro.
¿Cómo puedo almacenar el nombre del archivo (servername + 'ps1') en una variable y pasar esta variable al comando run_powershell()?

Intenté esto:
run_powershell('$pcname=[Environment]::MachineName')
run_powershell('$file="c:\tx-backups\script\"+$pcname+"_sftp-backup.ps1"
run_powershell('$Action = "New-ScheduledTaskAction -Execute "Powershell.exe " -Argument "-ExcutionPolicy Bypass -NoProfile -File"+ $file"'+'"')
run_powershell('$Trigger = New-ScheduledTaskTrigger -Daily -At 1am')
run_powershell('$Principal = New-ScheduledTaskPrincipal -LogonType S4U -RunLevel Highest')
run_powershell('$Settings = New-ScheduledTaskSettingsSet')
run_powershell('$Task = New-ScheduledTask -Action $Action -Trigger $Trigger -Settings $Settings')
run_powershell('Register-ScheduledTask -TaskName "Backup SFTP" -Action $Action -Trigger $Trigger -Settings $Settings -Principal $Principal')

El error que tengo:

run_powershell('$Action="New-ScheduledTaskAction -Execute "Powershell.exe" -Argument "-ExecutionPolicy Bypass -NoProfile -File "+$file+'"'')
^
SyntaxError: EOL while scan string literal
SyntaxError: EOL while scan string literal (setup.py, line 29)

Gracias por su ayuda