crear una tarea programada de PowerShell
Publicado: 10 de agosto de 2021 - 15:57
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
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