У меня есть сервер с большим количеством медиа-дисков ~ 43 ТБ. Areca 1882ix-16 настроен на остановку дисков после 30 минут бездействия, поскольку в большинстве дней отдельный диск даже не используется. Это хорошо работает, чтобы предотвратить ненужную мощность и тепло. В этом случае диски по-прежнему отображаются в проводнике Windows, но когда вы щелкаете, чтобы получить к ним доступ, для отображения списка папок требуется около 10 секунд, поскольку он должен ждать, пока диск раскрутится.
Для административной работы мне нужно раскрутить все диски, чтобы иметь возможность искать среди них. Нажимать на каждый диск в проводнике Windows, а затем ждать, пока он раскрутится, прежде чем щелкнуть следующий диск, очень утомительно. Очевидно, что несколько окон проводника делают его быстрее, но все равно утомительно. Я думал, что сценарий powershell может облегчить боль.
Итак, я начал со следующего:
$mediaDrives = @('E:', 'F:', 'G:', 'H:', 'I:', 'J:', 'K:', 'L:',
'M:','N:', 'O:', 'P:', 'Q:', 'R:', 'S:')
get-childitem $mediaDrives | foreach-object -process { $_.Name }
Это просто запрос, чтобы у каждого диска в массиве было указано имя его корневой папки. Это работает, чтобы разбудить диск, но это снова линейная функция. Сценарий приостанавливается для каждого диска перед печатью. Ищете решение, как разбудить каждый диск одновременно. Есть ли способ многопоточности или что-то еще?