nd3cmd в NetDrive — монтирование дисков из командной строки

4 мин чтения feature windows cli
Morgan
MorganStaff Engineer
Утилита nd3cmd в NetDrive монтирует, отключает и проверяет статус диска без открытия GUI — полезно для задач по расписанию, CI-агентов и удалённого администрирования.

Администратору, управляющему сорока сеансами Windows Terminal Server, не хочется на каждом из них кликать по GUI NetDrive только для того, чтобы примонтировать общий диск при входе в систему. Билд-агент, работающий ночью без присмотра, вообще не может кликать по GUI. В обоих случаях нужно то же самое, что визуально предоставляет менеджер дисков NetDrive — монтирование, отключение, проверка статуса — только доступное из скрипта.

NetDrive drive manager showing Google Drive, S3 and pCloud mounted as drive lettersMounted clouds appearing as native drives in Windows File Explorer

Автоматизируйте монтирование вместо кликов по GUI

NetDrive показывает Google Drive, OneDrive, S3, SFTP, WebDAV и другие хранилища как обычные диски в Windows и macOS — без синхронизации и полной загрузки файлов.

  • Монтируйте, отключайте и проверяйте статус диска из скрипта
  • Подходит для задач по расписанию, скриптов входа и CI-агентов
  • Работает параллельно с GUI-менеджером дисков, а не вместо него
WindowsmacOS
Скачать NetDrive →

Бесплатный пробный период. Доступны бессрочная лицензия и подписка.

Почему некоторым сценариям нужен путь через командную строку

Менеджер дисков NetDrive построен вокруг клика по Add Drive, выбора провайдера и появления карточки в списке — удобный процесс, когда человек сидит за машиной и настраивает один-два диска. Он перестаёт работать, как только то же монтирование нужно выполнить десятки раз без чьего-либо участия: при входе на каждом сеансе многопользовательского Terminal Server, в начале каждой задачи CI на билд-агенте, или на удалённой машине, куда администратор заходит только по SSH или RDP, не имея желания запускать GUI.

Для именно этого случая NetDrive поставляется с утилитой командной строки — nd3cmd появилась в версии 3.8.921 (2019-09-21), в том же релизе, что принёс блокировку файлов Microsoft Office и тёмную тему macOS.

Менеджер дисков NetDrive показывает несколько облачных аккаунтов, примонтированных как диски с буквами

Что умеет nd3cmd

nd3cmd покрывает те же основные действия, что и GUI-менеджер дисков — монтирование настроенного диска, его отключение и проверку, подключён ли диск сейчас, — но вызывается из PowerShell, batch-скрипта или чего угодно, что запускает на целевой машине инструмент управления конфигурацией. Этого достаточно, чтобы заменить ручной клик-через для типичных случаев автоматизации: примонтировать общий командный диск как часть скрипта входа, корректно отключить его перед плановой перезагрузкой или проверить статус диска перед задачей, которая зависит от того, что монтирование поднято, прежде чем она начнёт реальную работу.

Точные флаги и синтаксис менялись от релиза к релизу, поэтому в этом посте не будет угадывания командной строки, которая может не совпасть с тем, что установлено на конкретной машине. Форум поддержки NetDrive хранит актуальный справочник по nd3cmd для установленной версии.

Даже когда диск примонтирован через скрипт, а не через GUI, те же значки-оверлеи статуса файлов по-прежнему появляются в Windows Explorer для любого, кто зайдёт в систему проверить — отдельного состояния «скриптовое против ручного» согласовывать не нужно.

Значки-оверлеи статуса файлов Windows Explorer, показывающие состояние синхронизации на примонтированном облачном диске

От «утилита существует» до рабочего скрипта

  1. Убедитесь, что nd3cmd идёт с установленной версией NetDrive — она встроена в десктопный клиент, а не является отдельной загрузкой.
  2. Возьмите актуальный справочник команд для этой версии с форума поддержки, а не переиспользуйте синтаксис из старого поста или с установки на другой машине.
  3. Сначала выполните команды монтирования, отключения и проверки статуса вручную на тестовом диске, убедившись, что каждая делает то, что написано в справочнике, прежде чем от неё что-то будет зависеть.
  4. Встройте проверенные команды в скрипт входа, задачу по расписанию или шаг CI, которому они нужны, и проверяйте статус диска как pre-flight-шаг перед любой задачей, читающей или пишущей через это монтирование.

Проверка статуса монтирования диска из терминальной сессии

Место в более крупной инфраструктуре

CI-пайплайн, монтирующий разный S3-бакет в зависимости от того, какая ветка собирается, — естественный сценарий использования, тот же паттерн, что описан в DevOps S3 Test Fixtures With NetDrive, где монтирование должно происходить без ручного выбора бакета каждый раз. На стороне администрирования среда Windows Terminal Server, обслуживающая много параллельных пользовательских сессий, выигрывает точно так же — монтируя диск каждого пользователя при входе вместо того, чтобы просить каждого настраивать его самостоятельно — см. NetDrive on Windows Server 2022 о таком развёртывании с множеством сессий. В любом случае nd3cmd работает рядом — не вместо — с поведением авто-монтирования при загрузке на машинах, где человек всё же входит в систему как обычно.

Итог

nd3cmd превращает действия, уже доступные в GUI NetDrive, в то, что может вызвать скрипт, — это важно в момент, когда монтирование должно происходить по расписанию, на билд-агенте или на десятках сессий без присмотра одновременно. Проверьте форум поддержки на предмет точного синтаксиса для установленной версии, прежде чем писать скрипт, и см. Auto-Mount on Boot in NetDrive о GUI-варианте автоматизации для случаев, когда человек всё же входит в систему как обычно.

— Morgan, NetDrive