En ocasiones necesitamos configurar la ejecución de un script de PowerCLI dentro de una tarea programada de Windows en el equipo donde tenemos instalado Virtual Center y PowerCLI.
Aquí tenemos un par de ejemplos de scripts de PowerCLI que podríamos programar su ejecución de forma regular:
Para configurar una tarea programada que ejecute un script de PowerShell, deberemos indicar el interprete de linea de comandos a utilizar.
Veamos un ejemplo práctico (Script de PowerShell):
Imaginemos que disponemos del siguiente script (con el cmd-let Get-Content vemos el contenido de un fichero de texto):
PS C:\PS-Scripts> dir
Directorio: C:\PS-Scripts
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 05/06/2015 12:31 32 ps-test.ps1
PS C:\PS-Scripts> Get-Content .\ps-test.ps1
Test-Path C:\Windows > 1.txt
Directorio: C:\PS-Scripts
Mode LastWriteTime Length Name
---- ------------- ------ ----
-a--- 05/06/2015 12:31 32 ps-test.ps1
PS C:\PS-Scripts> Get-Content .\ps-test.ps1
Test-Path C:\Windows > 1.txt
Ejecutamos el programador de tareas de Windows:
%windir%\system32\taskschd.msc /s
1) Configuramos el nombre de la tarea y su configuración general:
2) Indicamos en la pestaña "Acciones" que ejecute el script: .\ps-test.ps1 en el directorio C:\PS-Scripts con el interprete de linea de comandos: PowerShell.exe
No es necesario indicar la ruta completa de la ubicación del fichero PowerShell.exe, ya que la ruta está indicada en el PATH del sistema.
3) Introducimos las credenciales con las que se ejecutará la tarea programada:
Si el script a ejecutar es de PowerCLI, bastará con añadir en el interior del script:
Add-PSSnapin VMware.VimAutomation.Core
y dispondremos de todos los cmd-lets de PowerCLI.
Veamos un ejemplo práctico (Script de PowerCLI):
PS C:\PS-Scripts> Get-Content .\pcli-test.ps1
Add-PSSnapin VMware.VimAutomation.Core
Connect-VIServer -Server XXX.XXX.XXX.XXX -User YYYYYYY -Password ZZZZZZZZ
Get-VM | Get-Snapshot > Lista-Snaphots.txt
Connect-VIServer -Server XXX.XXX.XXX.XXX -User YYYYYYY -Password ZZZZZZZZ
Get-VM | Get-Snapshot > Lista-Snaphots.txt
Según el ejemplo, en el fichero Lista-Snaphots.txt dispondremos de la lista de snapshots de toda nuestra infraestructura virtual.
Con el cmd-let Connect-VIServer conectamos a nuestro Virtual Center.
No hay comentarios:
Publicar un comentario