none
Crear Tarea Programada en Windows 2008 R2 para ejecutar script Powershell RRS feed

  • Pregunta

  • Hola a todos,

    Por motivos de migración se ha tenido que trasladar una tarea programada que ejecutaba un script powershell de una maquina Windows 2003 a una 2008 R2. En la maquina Windows 2003 no daba ningún problema pero en la 2008 ni si quiera arranca la tarea. El script necesita la shell de Exchange , tiene instalado los paquetes de Exchange 2007 para que funcione pero debe ser algo de configuración a la hora de crear la tarea.

    En actions, la tarea esta escrita asi exactamente:

    C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe -psconsolefile "c:\Program Files\Microsoft\Exchange Server\bin\exshell.psc1" -command "ActiveSync.ps1"

    Siendo ActiveSync.ps1 el script creado por mi,. Alguien se ha encontrado con este problema?

    Gracias!

    Eduard

     

    viernes, 29 de abril de 2011 6:11

Respuestas

  • ¿Has probado a no depender de la consola de Exchange (vaya a ser eso lo que falla) y en su lugar cargar el PsSnapin correspondiente en el propio script? Eso lo haces así:

     

    # Comprobamos si están cargados los Cmdlets de Exchange. En caso contrario los
    # cargamos.
    If(!(Get-PSSnapin | `
       Where-Object {$_.Name -eq `
              "Microsoft.Exchange.Management.PowerShell.Admin"`
              }))
    {
      [Void] Add-PSSnapin -name Microsoft.Exchange.Management.PowerShell.Admin
    }

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    viernes, 29 de abril de 2011 6:35
    Moderador

Todas las respuestas

  • ¿Has probado a no depender de la consola de Exchange (vaya a ser eso lo que falla) y en su lugar cargar el PsSnapin correspondiente en el propio script? Eso lo haces así:

     

    # Comprobamos si están cargados los Cmdlets de Exchange. En caso contrario los
    # cargamos.
    If(!(Get-PSSnapin | `
       Where-Object {$_.Name -eq `
              "Microsoft.Exchange.Management.PowerShell.Admin"`
              }))
    {
      [Void] Add-PSSnapin -name Microsoft.Exchange.Management.PowerShell.Admin
    }

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)
    viernes, 29 de abril de 2011 6:35
    Moderador
  • Gracias Fernando funciono perfectamente, ya no tengo que llamar a la shell de Exchange.

    UN saludo y gracias de nuevo.

    Eduard

    viernes, 29 de abril de 2011 12:10
  • ¿Has probado a no depender de la consola de Exchange (vaya a ser eso lo que falla) y en su lugar cargar el PsSnapin correspondiente en el propio script? Eso lo haces así:

     

    # Comprobamos si están cargados los Cmdlets de Exchange. En caso contrario los
    # cargamos.
    If(!(Get-PSSnapin | `
       Where-Object {$_.Name -eq `
              "Microsoft.Exchange.Management.PowerShell.Admin"`
              }))
    {
      [Void] Add-PSSnapin -name Microsoft.Exchange.Management.PowerShell.Admin
    }

     


    Un saludo

    Fernando Reyes [MS MVP]
    MCSA 2000/2003
    MCSE 2000/2003
    MCITP EnterpriseAdministrator
    Web: http://freyes.svetlian.com
    Blog: http://urpiano.wordpress.com
    RSS: http://urpiano.wordpress.com/feed/
    freyes.champú@champú.mvps.org
    (Aclárate la cabeza si quieres escribirme)

     Hola, 

     Esto no me funciona, pongo esto al inicio de mi script para exchange y arroja error..., no se ejecuta el script.

    jueves, 3 de diciembre de 2015 14:03