PowerShell – Descargar todos los archivos de una carpeta ftp

Crear un script para descargar un archivo en concreto de un ftp es bastante sencillo y encontramos muchos ejemplos. Desde una máquina Windows, si queremos descargar todos los archivos de una carpeta en concreto de un servidor ftp sin saber el nombre de cada uno de los archivos ya es un poco más complicado.

A través de una consulta en http://stackoverflow.com/ he encontrado un script en PowerShell fantástico que funciona a las mil maravillas:

	
  #FTP Server Information - SET VARIABLES
    $ftp = "ftp://ftp.myserver.com" 
    $user = 'user' 
    $pass = 'password'
    $folder = 'Folder'
    $target = "C:\test\"


    #SET CREDENTIALS
    $credentials = new-object System.Net.NetworkCredential($user, $pass)

    function Get-FtpDir ($url,$credentials) {
        $request = [Net.WebRequest]::Create($url)
        $request.Method = [System.Net.WebRequestMethods+FTP]::ListDirectory
        if ($credentials) { $request.Credentials = $credentials }
        $response = $request.GetResponse()
        $reader = New-Object IO.StreamReader $response.GetResponseStream() 
        $reader.ReadToEnd()
        $reader.Close()
        $response.Close()
    }

    #SET FOLDER PATH
    $folderPath= $ftp + "/" + $folder + "/"

    $Allfiles=Get-FTPDir -url $folderPath -credentials $credentials
    $files = ($Allfiles -split "`r`n")

    $files 

    $webclient = New-Object System.Net.WebClient 
    $webclient.Credentials = New-Object System.Net.NetworkCredential($user,$pass) 
    $counter = 0
    foreach ($file in ($files)){
        $source=$folderPath + $file  
        $destination = $target + $file 
        $webclient.DownloadFile($source, $target+$file)

        #PRINT FILE NAME AND COUNTER
        $counter++
        $counter
        $source
    }



En este caso en el propio script le asignamos los valores de los parámetros, se podría modificar y pasar los parámetros al ejecutar.


Script vía Vía: http://stackoverflow.com/questions/19059394/powershell-connect-to-ftp-server-and-get-files



Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


Postfix – Bloquear un usuario para que no envíe correos

Aplicado a: Postfix 2.3.3

Queremos impedir que un usuario pueda enviar correos, sólo queremos que los reciba.

Creamos un nuevo archivo donde vamos a listar los usuarios que no queremos que puedan enviar correo. Por ejemplo lo llamamos sender_access. Especificamos cada cuenta de usuario y le añadimos la opción REJECT:

  > vi /etc/postfix/sender_access
usuario1@midominio.com REJECT

Creamos la tabla a partir del archivo creado:

  > postmap /etc/postfix/sender_access

Editamos el archivos main.cf y le añadimos la opción smtp_sender_restrictions con el parámetro check_sender_access:

  > vi /etc/postfix/main.cf
...
smtpd_sender_restrictions =
        check_sender_access hash:/etc/postfix/sender_access

Recargamos Postifx con la nueva configuración:

  > /etc/init.d/postfix reload





Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


Batch para comprobar el estado de servicios Windows

Arrancar y detener servicios Windows.
NET START
NET STOP

Batch que permite comprobar el estado de un servicio Windows determinado y arrancarlo en caso de no estar en marcha.
Vamos a utilizar el comando sc query que nos da información del estado de los servicios.

	
for /F "tokens=3 delims=: " %%H in ('sc query NOMBRE_SERVICIO ^| findstr "  ESTADO"') do (
  if /I "%%H" NEQ "RUNNING" (
     net start NOMBRE_SERVICIO
  )
)

¿Cómo hacer que un servicio Windows esté siempre arrancado?
Con el batch anterior, ejecutándolo de forma periódica a través de una tarea programa de Windows.




Modificándolo ligeramente lo podemos usar para detener un servicio, en caso de no estarlo.

	
for /F "tokens=3 delims=: " %%H in ('sc query NOMBRE_SERVICIO ^| findstr "  ESTADO"') do (
  if /I "%%H" == "RUNNING" (
     net stop NOMBRE_SERVICIO
  )
)





Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)



Como configurar conexiones wifi con el comando netsh



Mostrar los perfiles de las conexiones wifi:

> netsh wlan show profiles



Mostrar la clave de un perfil guardado:

> netsh wlan show profile name="WLAN_924A" key=clear



Eliminar un perfil guardado:

> netsh wlan delete profile name="WLAN_924A"





Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


SQL – Mover registro de transacciones (log) de ubicación

SQL 2008 R2

En un servidor SQL, cuando queremos mover el archivo de transacciones (log) de una base de datos a otra carpeta, habitualmente para cambiarla de unidad, lo podemos hacer siguiendo los siguientes pasos:

1.- Comprobamos la ubicación actual de los archivos de la bases de datos

USE MyDataBase
GO
sp_helpfile
GO

2.- Ponemos la base de datos en modo usuario único y la separamos (detach)

Use MASTER
GO

-- Ponemos la base de dadatos en modo usuairo único 
ALTER DATABASE MyDataBase
SET SINGLE_USER
WITH ROLLBACK IMMEDIATE
GO

-- Hacemos un 'detach' de la base de datos 
sp_detach_db 'MyDataBase'
GO

Continue reading


Ejemplos robocopy con uso de parámetros de exclusión

Listo varios ejemplos de uso de robocopy utilizando los diferentes parámetros de exclusión disponibles.


Exlcuir todos los archivos con extensión .txt, copia recursiva (/E), si los archivos .txt ya existen en el destino no los elimina:

> robocopy c:\origen\ e:\destino\ /E /XF *.txt

Aún usando el parámetro /MIR si los archvos .txt ya existen en el destino no se eliminan:

> robocopy c:\origen\ e:\destino\ /MIR /E /XF *.txt



Ecluir todos los archivos recursivamente, es como hacer una copia de la estructura de carpetas:

> robocopy c:\origen\ e:\destino\ /E /XF * 



Ecluir una carpeta, si ya existe en el destino no se elimina:

> robocopy c:\origen\ e:\destino\ /E /XD "C:\origen\capreta1"

Ecluir varias carpetas, si ya existen en el destino no se eliminan:

> robocopy c:\origen\ e:\destino\ /E /XD "C:\origen\capreta1" "C:\origen\capreta2"





Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


Servidores DNS

Si estas cansado de usar los servidor DNS que te ofrece tu proveedor de internet y quieres hacer una cambio, listo varios servidores DNS gratis y públicos.

ProveedorServidor DNS PrimarioServidor DNS Secundario
Google8.8.8.88.8.4.4
OpenDNS Home208.67.222.222208.67.220.220
puntCAT109.69.8.51





Si el post te ha ayudado a salir de un marrón, te ha servido pá lo que sea o simplemente te ha gustado y quieres colaborar puedes pinchar en los anuncios ;)


Escanear red en Linux

¿Cómo podemos escanear la red desde un terminal linux?

Una muy buena opción es utilizar NMAP, es un programa de código abierto distribuido bajo licencia GNU General Public. Es una herramienta de avaluación para administradores de red que puede ser usada para detectar, supervisar, monotorizar y solucionar problemas de sistemas TCP/IP.

NMAP es muy potente, para hacer un escaneo rápido para saber que host esta activo podemos hacer la siguiente comanda, utilizando los parámetros -sP y el rango de la red:

[root@server1 ~]# nmap -sP 192.168.1.0/24
Nmap scan report for 192.168.1.1
Host is up (0.00018s latency).
MAC Address: F4:3E:61:D2:F5:D2 (Unknown)
Nmap scan report for 192.168.1.50
Host is up.
Nmap scan report for 192.168.1.129
Host is up (0.00081s latency).
MAC Address: FC:BB:14:24:58:BB (Unknown)
Nmap scan report for 192.168.1.131
Host is up (0.025s latency).
MAC Address: 6C:AD:F9:B3:20:17 (Unknown)
Nmap done: 256 IP addresses (4 hosts up) scanned in 23.39 seconds

Continue reading


Configurar red en CentOS 6.5 con dirección ip estática

¿Cómo asignar un ip estática en la configuración de red de un CentOS 6.5?

Configuramos eth0

[root@server1 ~]# vi /etc/sysconfig/network-scipts/ifcfg-eth0	
DEVICE=eth0
HWADDR=00:23:18:g3:63:fa
TYPE=Ethernet
UUID=894cea99-ed2e-4cb2-bb04-0e93be766f7c
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=192.168.1.50
NETMASK=255.255.255.0
IPV6INIT=no
USERCTL=no

Continue reading