Я хочу сделать резервную копию состояния моих подключенных дисков в Windows 7 Ent. Я не пытаюсь сделать резервную копию содержимого дисков, только пути и назначенные буквы.

Скажем, мне пришлось выполнить переустановку Windows, я хочу иметь возможность восстановить все мои подключенные диски с одинаковыми буквами, поэтому //network-path/foldername/ все равно будет назначен F:\ при восстановлении.

1 ответ1

2

У вас есть пара / несколько вариантов. Вот два:

Если это постоянные диски, которые вы подключили самостоятельно, то записи для них должны быть сохранены в реестре в HKEY_CURRENT_USER\Network .

Вы можете использовать Reg Export HKEY_CURRENT_USER\Network c:\temp\drives.reg из командной строки, чтобы экспортировать ключ в файл, а затем использовать reg import чтобы импортировать его снова в будущем.

Для получения дополнительной информации об этом, проверьте этот существующий вопрос SU:

Где Windows хранит сопоставления сетевых дисков?

Если диски не являются постоянными, вы можете использовать сценарий для вывода списка в файл, а другой сценарий - для импорта этого файла и создания дисков из него позже.

Использование PowerShell для этого не так уж сложно; Вы могли бы использовать что-то вроде следующего ...

Экспорт:

# Define array to hold identified mapped drives.
$mappedDrives = @()

# Get a list of the drives on the system, including only FileSystem type drives.
$drives = Get-PSDrive -PSProvider FileSystem

# Iterate the drive list
foreach ($drive in $drives) {
    # If the current drive has a DisplayRoot property, then it's a mapped drive.
    if ($drive.DisplayRoot) {
        # Exctract the drive's Name (the letter) and its DisplayRoot (the UNC path), and add then to the array.
        $mappedDrives += Select-Object Name,DisplayRoot -InputObject $drive
    }
}

# Take array of mapped drives and export it to a CSV file.
$mappedDrives | Export-Csv mappedDrives.csv

Импорт:

# Import drive list.
$mappedDrives = Import-Csv mappedDrives.csv

# Iterate over the drives in the list.
foreach ($drive in $mappedDrives) {
    # Create a new mapped drive for this entry.
    New-PSDrive -Name $drive.Name -PSProvider "FileSystem" -Root $drive.DisplayRoot -Persist -ErrorAction Continue 
}

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .