Очистка отключенных сетевых дисков - PullRequest
3 голосов
/ 12 мая 2011

У меня есть приложение, которое требует подключения к удаленным окнам.Что я сделал, это использовал подключенный диск для создания подключения в меню автозагрузки Windows.Частичные коды выглядят так:

 @IF NOT EXIST \\remotePC\sharedFolder NET USE * \\remotePC\sharedFolder /USER:user1 pwd /PERSISTENT:YES

Карта сетевого использования работает нормально.Сопоставленный диск будет одним из доступных букв сетевого диска.В моем приложении вместо этого используется имя UNC (\ remotePC \ sharedFolder).

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

enter image description here

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

NET USE T: /DELETE

Примечания: я не уверен в использовании параметра / PERSISTENT: YES.Я думаю, что следует подключить сетевой диск после входа или перезагрузки.Так не бывает.Вот почему я добавил свои скрипты в меню «Пуск».Я также понимаю, что другие мои инструменты файлового обозревателя также отображают отключенные сетевые диски.Каждый раз при перезагрузке появляется еще один отключенный сетевой диск.Кажется, что отключенные сетевые диски существуют в Windows.Есть ли в скриптах какой-нибудь способ найти их и очистить?

Обновление : я запускаю тест до 10 раз, и теперь я перехожу к этапу, когда для сетевого диска больше нет буквыотображение.Вот снимок состояния моего сетевого диска с помощью Total Commander:

enter image description here

Если я щелкну правой кнопкой мыши на этих отключенных сетевых дисках, я смогу отключить их.Должен быть способ сделать эти отключенные доступными.Однако он не будет освобожден командой use net / delete:

NET USE X: /DELETE

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

IF NOT EXIST Y:\ NET USE \\remotePC\Shared...

, где Y: может быть из цикла.Выше упрощенный.Я попробовал это из cmd, и это работает.

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

1 Ответ

3 голосов
/ 13 мая 2011

Думаю, я найду решение. В моем сценарии сопоставления вместо да к постоянному я должен использовать нет:

NET USE * \\remotePC\sharedFolder /USER:user1 pwd /PERSISTENT:NO

эта опция указывает Windows не сохранять этот сетевой диск постоянным для переподключения (вы можете нажать на сломанный диск в File Explorer, чтобы получить его обратно). В результате, когда пользователь снова войдет в систему после выхода из системы или перезагрузки, сетевой диск не будет в списке отключенных. Я не буду сталкиваться с проблемой исчерпания букв сетевого диска.

На самом деле мой коллега по работе помог мне с этим решением, и я хотел бы поделиться им с людьми, которые заинтересованы в этом вопросе.

...