Сетевой диск в чистилище после запуска скрипта `net use` - PullRequest
3 голосов
/ 06 мая 2011

У меня есть BAT-файл, который запускается при запуске через групповую политику на внутреннем сервере. BAT выполняет скрипт nant, который затем отображает несколько внешних местоположений с помощью команды net use. До сих пор все сопоставления были на внешних компьютерах, которые являются частью другого домена через публичные IP-адреса.

net use e: \\111.111.111.111\someshare$ /persistent:yes
net use f: \\111.111.111.222\someshare$ /persistent:yes
net use g: \\111.111.111.333\someshare$ /persistent:yes

Это было успешно. Теперь я добавил новый компьютер, который является частью той же сети и домена , что и внутренний сервер. Пока старые сопоставления продолжают работать, новое сопоставление не работает.

net use h: \\anothercomputer\d$\somefolder /persistent:yes

Я только знаю, что это не работает, потому что все последующие сценарии, которые зависят от этого сопоставления диска, терпят неудачу, говоря, что местоположение не существует. Если я пытаюсь запустить тот же сценарий подключения вручную, net use говорит

Произошла системная ошибка 85 ... Имя локального устройства уже используется.

Хорошо, значит, оно уже где-то отображено. Поэтому я пытаюсь распаковать его, используя net use h: /d, и это не удается.

Не удалось найти сетевое соединение.

Так что я не могу отобразить это. Я не могу удалить это. Видимо, он существует в каком-то сетевом чистилище. Что здесь происходит? Как я могу отобразить это новое местоположение и увидеть его в моих сценариях?

Ответы [ 3 ]

2 голосов
/ 15 мая 2011

Сначала проверьте, сопоставлен ли диск h: с использованием другой учетной записи. Когда диск сопоставлен со службой, он доступен только из системной учетной записи, и есть другой способ его нормальной работы или использования функции «Запуск от имени администратора» UAC. Если вы хотите удалить карту, вы должны сделать это так же, как это было отображено.

Вы можете проверить, можете ли вы пропинговать другой компьютер, прежде чем пытаться подключить диск.

Вы также можете попытаться подключиться к другому компьютеру, используя явное имя пользователя и пароль. И если вы отобразите его в сценарии входа, нет необходимости использовать параметр / persistent.

net use \\anothercomputer /user:username password > c:\temp\netuse.log 2>&1
net use h: \\anothercomputer\d$\somefolder 

В приведенном выше примере я записываю вывод первой команды net use в файл журнала, чтобы впоследствии можно было проверить сообщения об ошибках.

Если вы используете параметр / persistent, вам не нужно повторно его переназначать, вы можете использовать

if exist h:\nul ...

, чтобы проверить, существует ли диск h:

0 голосов
/ 19 ноября 2015

Возможно, это проблема клиента.

В следующей статье поддержки MS выявляется проблема с описанными симптомами.

Решение заключается в изменении значения реестра на клиенте, который пытается сопоставитьпривод.

https://support.microsoft.com/en-us/kb/253821

0 голосов
/ 15 мая 2011

Microsoft зарегистрировала, что эта проблема распространена в следующих системах:

Microsoft Windows 2000 Server

Microsoft Windows 2000 Advanced Server

Microsoft Windows 2000 Professional Edition

Если на вашем внутреннем сервере запущен какой-либо из них, то приведенная ниже ссылка определенно вам поможет.Даже с другой стороны, это не вредно, чтобы проверить решение.Также ознакомьтесь с разделом изменений реестра Windows в нижней части страницы по ссылке

http://support.microsoft.com/kb/308337#top

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...