jueves, 13 de enero de 2011

Copiar archivos web a carpeta local con Power Shell

Hace mucho que no les doy una mano. Estoy terminando de escribir un libro que creo que les va a gustar muchísimo para la editorial USERS sobre administración de servidores corporativos. Hoy estuve trabajando en un script en Power Shell para traer archivos desde un sharepoint a una carpeta local para realizar copias programadas. Tuve que investigar bastante, espero que le sea útil a quien encuentre esta información. En un principio debemos asegurarnos de tener permisos de lectura y copiado en el site Sharepoint y permisos de escritura en la carpeta donde vamos a dejar los archivos ya que el script va a correr con nuestras credenciales. VAmos a tener dos archivos, uno va a ser el script propiamente dicho y el otro va a ser un txt con las direcciones completas de la ubicación de cada archivo en el Sharepoint. Por ejemplo: www.sharepoint.com/sites/IT/texto.txt
Vamos a tener varias líneas las cuales ira recorriendo el script para copiar los archivos.

$SvcTxtPath = "C:\Temp\Scripts\urls.txt"
[int]$lineCount = (Get-Content $SvcTxtPath ).Count
Read-Host $lineCount
#echo $lineCount
$Services = Get-Content $SvcTxtPath
$wc=new-object system.net.webclient
$wc.UseDefaultCredentials = $true
#echo $Services[1]
$num=0
for([int]$i=$lineCount-1; $i -ge 0;$i--){

$strURL = $Services[$i]
$a = $strURL.split(“/”)
$wc.downloadfile($strURL,"C:\projects_web\"+$a[$a.length-1])
$num++
}

Debemos cambiar solo lo que está en color y cargar el archivo con las urls que deseemos. Por supuesto, para correr el script debemos abrir una consola de Power Shell y correr el archivo anteponiendo ./

1 comentario:

  1. - Te invitamos a que conozcas las ofertas laborales que el Grupo Techint puede ofrecerte. En nuestra web vas a encontrar una serie de puestos que se adecúan a tus necesidades. Queremos conocerte y que formes parte de nuestro equipo de trabajo.
    http://www.tjobs.com.ar/ofertas-laborales_ficha.aspx?IdOferta=4491
    http://www.tjobs.com.ar/ofertas-laborales_ficha.aspx?IdOferta=4514
    http://www.tjobs.com.ar/ofertas-laborales_ficha.aspx?IdOferta=4513

    ResponderEliminar