Решил тут поделиться  небольшим скриптом, который позволяет автоматически подключать VHD диски при старте ОС. Писать полноценные статьи не хочется — жара.

Как известно, в Windows 2008 можно напрямую подцеплять VHD файлы к системе, не используя  при этом сторонние программы. Это, конечно, удобно, но есть одна проблема. Диски не монтируются автоматом при старте. Навязывается вопрос: почему ?! Честно сказать, не знаю. Но решение проблемы было найдено.

Прежде всего, у меня может монтироваться  до 5-6 VHD файлов. Дублировать скрипты с разными параметрами мне не хотелось… Но у меня есть плюс: все VHD лежат в одной папке. Что намного облегчило мою ситуацию.

Скрипт

#Задаем параметры
#Где искать VHD:
$Folder = "d:\backup_data\*.vhd"
 
#=================
 
#Перебираем файлы в папке
foreach ($VHD in dir $Folder) 
    {
    #Куда будем класть временный файл
    $ScFile = $Env:temp + "\"+$vhd.name+".txt"
 
    #Создаем файл
    $ScriptFile = New-Item -ItemType file $ScFile -Force
 
    #Добавляем параметры в файл
    Add-Content -Path $ScriptFile -Value ('SELECT VDISK FILE="' + $VHD + '"')
    Add-Content -Path $ScriptFile -Value 'ATTACH VDISK'
 
    #Маунтим VHD 
    diskpart /s $ScriptFile
    }

Как это работает ?

  1. Переменная $Folder содержит папку с VHD файлами. Из нее начинают перебираться все vhd файлы.
  2. Создается текстовый файл с параметрами в Temp папке (C:\Users\bakanov\AppData\Local\Temp\1):
    SELECT VDISK FILE="D:\backup_data\123.vhd"
    ATTACH VDISK
  3. Выполняется  аттач VHD на основе файла с параметрами
  4. Берется следующий файл и действия повторяются.

Как создать задание

  1. Идем в планировщик заданий. Создаем новое задание.
    sh1
  2. Выставляем следующие параметры:
    sh2
  3. Переходим в раздел Triggers и создаем новый триггер
    sh3
  4. Выбираем, что нам нужен триггер на старте системы
    sh4
  5. Задаем действие для нашего триггера
    sh5
  6. Выбираем запуск программы:
    В поле Program/Scriptpowershell.exe
    В поле Add arguments: -command «&{D:\Backup_data\Script\Mount-VHD.ps1}»
    sh6

Заключение

Ну и все. Теперь у нас автоматически будут монтироваться все VHD файлы из выбранной папке.

, ,


2 комментариев

  1. А чего на vhd хранишь?

  2. Баканов Денис @ 2010-07-31 11:28

    Много всякого разного *овна. Бэкапы, данные, виртуалки и прочая фигня.

Добавить новый комментарий