Como apagar y encender HDD externo automáticamente

djtonight

En una empresa va a haber un disco duro externo conectado a un PC para hacer copias de seguridad diarias. El caso es que no quiero que esté encendido todo el rato por si entra un ramsonware (no sería el primero).
Lo ideal sería que estuviera apagado o desactivado y se activara justo antes de hacer la copia, y un rato después se apagara.

Había pensado simplemente conectar la toma de corriente a un enchufe temporizador, pero me he encontrado con que los modelos que he visto, después de conectar la corriente, hay que darle a un botón para que se encienda.

¿Se os ocurre alguna manera? Supongo que hay formas de crear una tarea programada que desactive el dispositivo y luego lo reconecte ¿Sabéis como?(windows), pero me da miedo que un ramsonware pueda reactivarlo él mismo.

JuGuLaToR

#1 Yo compré no hace mucho un temporizador programable en una ferreteria por 15 euros, y le puedes programar varias franjas de apagado/encendido, cosa que hace sin tener que volverlo a tocar.

Desde luego esa sería la solución mas segura, ya que esta apagado fisicamente. Por software no tengo ni idea de como se haría.

2 respuestas
djtonight

#2 Pero los discos duros que encuentro todos llevan un botón que hay que pulsar para que sen encienda. No vale solo con darle corriente

2 respuestas
AikonCWD

#1 Lo mejor es que quites la letra de unidad:

https://technet.microsoft.com/en-us/library/cc757491(v=ws.10).aspx#BKMK_CMD

Basicamente en el script que va a lanzar el backup, llama a diskpart y quita la letra asignada al disco de backup al finalizar la copia. Antes del backup deberás asignar la letra.

Es super efectivo!

#2 #3 no pongas un switch mecánico, cascarás el HDD

1 respuesta
JuGuLaToR

#3 Ah vale, pensaba que el botón que decías era en el temporizador.

#4 La verdad es que no había pensado en que no es muy recomendable apagar los discos mientras están dando vueltas xD

AikonCWD

#1 Tienes otra opción usando PowerShell y WMI:

$target = 'G:'
$volume = Get-WmiObject Win32_Volume -Filter "DriveLetter='$target'"

if ($null -ne $volume)
{
    $volume.DriveLetter = $null
    $volume.Put()
}
1 respuesta
djtonight

#6 Voy a probar esta opción de momento a ver, muchas gracias!

Usuarios habituales

  • djtonight
  • AikonCWD
  • JuGuLaToR