Principales respuestas
Ejecutar automaticamente un archivo sp1 de la consola de comandos de SharePoint

Pregunta
-
Hola a todos.
Necesito ejecutar cada día unos comandos desde un archivo .sp1 (File.sp1) que actualizan un campo de una lista de SharePoint. Se como hacer que se ejecute la consola de administración de SharePoint mediante el siguiente acceso directo:
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -NoExit " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ' "
¿pero como hago que, una vez se abra la consola, ejecute los comandos del archivo File.sp1?. He intentado pasarlo de estas dos maneras pero no funciona:
1) PowerShell -command " . ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\sharepoint.ps1 ' ; 'C:\backup\File.ps1'"
2) C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe -NoExit " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 ' " "C:\backup\File.sp1"
¿Alguna idea de como se ha de pasar el archivo a ejecutar a la consola?
Gracias
Respuestas
-
Hola,
La ruta que tienes que indicar en la tarea programada es el archivo de script de PowerShell, Windows mediante la asociación de extensiones ejecutará el archivo. Lo que debes incluir en este archivo es agregar los complementos de SharePoint para que cargue los cmdlets. De modo que tu script de PowerShell quedaría de la siguiente manera:
Add-PSSnapin Microsoft.SharePoint.PowerShell $spWeb = Get-SPWeb -Identity http://SiteTest $spList = $spWeb.Lists["Test"] $spList.Items | ForEach-Object { $_.SystemUpdate() } $spWeb.Dispose()
Saludos.
- Marcado como respuesta raulsang jueves, 25 de octubre de 2012 4:28
Todas las respuestas
-
-
He probado lo que me comentas, sin éxito, de la siguiente manera:
He creado una tarea programada cuya acción inicia el siguiente programa:
C:\Windows\System32\WindowsPowerShell\v1.0\PowerShell.exe
y como argumento:
-NoExit " & ' C:\Program Files\Common Files\Microsoft Shared\Web Server Extensions\14\CONFIG\POWERSHELL\Registration\\sharepoint.ps1 '"
que lo que hace es abrirme la consola de SharePoint. Pero como hago para que ejecute en la consola, el código siguiente guardado en un archivo (File.ps1):
$spWeb = Get-SPWeb -Identity http://SiteTest
$spList = $spWeb.Lists["Test"]
$spList.Items | ForEach-Object { $_.SystemUpdate() }
$spWeb.Dispose() -
Hola,
La ruta que tienes que indicar en la tarea programada es el archivo de script de PowerShell, Windows mediante la asociación de extensiones ejecutará el archivo. Lo que debes incluir en este archivo es agregar los complementos de SharePoint para que cargue los cmdlets. De modo que tu script de PowerShell quedaría de la siguiente manera:
Add-PSSnapin Microsoft.SharePoint.PowerShell $spWeb = Get-SPWeb -Identity http://SiteTest $spList = $spWeb.Lists["Test"] $spList.Items | ForEach-Object { $_.SystemUpdate() } $spWeb.Dispose()
Saludos.
- Marcado como respuesta raulsang jueves, 25 de octubre de 2012 4:28
-