Как при входе в систему настроить Windows на автоматическое подключение / подключение подключенного сетевого диска?

Как автоматически смонтировать общий ресурс SMB в Windows 7? При первом входе в систему появляется диск, но он не "подключен". Это подключенный сетевой диск, но iTunes не найдет музыку, расположенную на сервере, пока я не нажму на диск в проводнике Windows и не подключу диск. В проводнике Windows говорится, что диск "отключен".

6 ответов

Вы можете попробовать добавить при входе в систему с помощью команды "net"

Например,

net use z: \\server\share

Вы можете запустить его при входе в систему несколькими способами - поместить его в командный файл и добавить в элементы автозагрузки, добавить его в планировщик задач или добавить в локальную групповую политику. Есть три способа, которые приходят на ум (без сомнения, есть другие)

Обычно я просто использую пакетный скрипт, который выполняет команду "dir" для этого ресурса.

Откройте Блокнот и введите следующее:

dir I:

Замените I на букву диска, которую вы указали.

Вы также можете сделать > nul в конце этой команды, чтобы скрыть вывод в окне командной строки при ее запуске.

Нажмите Файл, затем Сохранить как.
Измените Сохранить как Тип на Все файлы. Сохраните файл в папке C:\Users\username\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup и назовите его mapdrive.bat. Замените имя пользователя вашим собственным именем пользователя.

При следующем запуске компьютера он запустит этот скрипт. Это заставит Windows подключиться к подключенному диску.

Простая команда net use - это все, что нужно. Если ваша сетевая папка требует другого имени пользователя / пароля, их также можно указать.

net use i: \\server1\Directory3 /persistent:yes

Документы Net Use:
http://technet.microsoft.com/en-us/library/bb490717.aspx

Я все время делаю карту таких акций без проблем. Иногда для входа в общий ресурс требуется несколько секунд после входа в систему. Это не всегда мгновенно.

Вы можете попробовать использовать пакетный файл для копирования несуществующего файла с подключенного диска на локальный диск c:\. Это заставит подключенный диск смонтировать и найти файл, вернуть ошибку, но диск будет смонтирован.

Простой пакетный файл в группе запуска должен сделать свое дело -

copy: \ badfile.txt c:\

Сохраните как MOUNTME.BAT, затем поместите это в папку автозагрузки.

При подключении диска (в проводнике) выберите подключение к Интернету (подключитесь к веб-сайту, чтобы поделиться своими документами), а затем подключите карту как обычно. Вот как мы отображаем наши акции SAMBA, и это отображается при входе в систему. Я никогда не углублялся в различия между этим методом и методом обычной карты, или между in и обычным сетевым использованием x: \server\path. Наши общие ресурсы samba находятся вне сайта и в сети, и это прекрасно работает...

Единственная другая странная вещь, которую мы должны сделать, это включить NTLM v1, если v2 не отвечает.

Следующий пакетный файл проверяет, какие диски вы подключили и помечены как "недоступные", а затем пытается сопоставить их снова. Преимущество этого подхода заключается в том, что вам не нужно вести список подключенных дисков, и он с радостью обработает любые диски, которые вы добавляете (или удаляете) позже, без изменений:

@echo off
setlocal enabledelayedexpansion

for /f "tokens=2,3" %%a in ( 'net use ^| find /I  "unavailable"' ) do (
    net use %%a %%b
    rem Next line probably not essential, but doesn't seem to hurt
    dir %%a >nul
)

Хотя все вышеперечисленное работает отлично, я лично вложил это в немного более сложный сценарий, который сначала проверяет, действительно ли вы находитесь в своей домашней сети, прежде чем пытаться сопоставить свои диски.

Чтобы использовать расширенный сценарий, сохраните приведенный ниже код локально как automount.bat, убедитесь, что вы установили routermac правильно, а затем создайте запланированную задачу для ее запуска с триггером "Разблокировка на рабочей станции".

@echo off
setlocal enabledelayedexpansion

rem automount.bat
rem
rem Batch file which checks if you are running on your home network
rem and, if so, attempts to re-attach disconnected network drives.
rem
rem
rem --- Configuration options --------------------------------------------
rem
rem routermac - The MAC address of the home router, used to determine
rem             whether or not the computer is at home. Get this by
rem             using "arp -a" from the command line and looking for
rem             the IP address of your router. 

set routermac=12-ab-34-cd-56-ef

rem
rem --- Nothing to configure below here ----------------------------------

rem Pull the default gateways from ipconfig and extract the one with a value.
rem Carefull! There is 1 extra space before the ip-address.

for /L %%i in (1,1,10) do (
    timeout 2 

    for /f "delims=: tokens=2 usebackq" %%a in ( `ipconfig ^| find /I "default gateway"` ) do (
        if NOT "%%a."==" ." (
            set IP=%%a
            goto got_gateway
        )
    )
)

rem 10 attempts over 20 seconds and we still cannot find a default gateway,
rem so the computer probably isn't connected to any network

echo No gateway found after 20 seconds, giving up
exit

:got_gateway

rem Ping it to make sure it appears in arp -a output

echo Gateway is %IP%
ping -n 1 %IP% 

rem Filter the line with the ip-address and MAC from arp -a and take action if found

arp -a | find /I "%IP%" | find /I "%routermac%"
if errorlevel 1 (
    rem The mac address doesn't match the one we're looking for, so we're
    rem probably connected to a different network
    echo Internet connection found, but we are not at home
    exit
)

rem Get list of mapped drives marked as "unavailable" and then
rem re-mount them. It is unclear if running "dir" after mounting helps, but
rem it seems to do no harm.

for /f "tokens=2,3" %%a in ( 'net use ^| find /I  "unavailable"' ) do (
    echo Mapping %%a to %%b
    net use %%a %%b
    dir %%a >nul
)

Если вам не нравится, что окно отображается при его запуске, у вас есть несколько вариантов - два самых простых из них приведены ниже:

  1. Создайте ярлык для пакетного файла, настройте ярлык для запуска в свернутом виде (щелкните его правой кнопкой мыши и выберите "Свойства"), а затем вызовите ярлык вместо этого из планировщика задач. Единственным недостатком этого подхода является то, что вы увидите короткое мигание на панели задач.
  2. Загрузите что-то вроде nircmd и вызовите его из запланированной задачи как nircmd exe hide "c:\full\path\to\automount.bat"

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

Предполагая, что вы используете Windows 7.

Нажмите "Компьютер", вы увидите кнопку "Подключить сетевой диск" вверху. Нажмите "Карта сетевого диска"

Выберите букву диска, введите путь к сетевой папке.

Вот и все.

Другие вопросы по тегам