11

У меня работает файловый сервер (SMB), к которому я подключился в Explorer (Windows 7 Professional), посетив \\1.2.3.4 напрямую. Я вошел в систему как один пользователь, не сохраняя учетные данные, и теперь хочу выйти из системы (на самом деле я хочу сменить пользователя на другой, но в целом было бы полезно выйти из системы).

Я искал способы сделать это и нашел кучу информации, которая предлагает использовать какую-либо форму net use \\1.2.3.4 /del:

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

Еще одна вещь, которую я попробовал, но также не удалась, была сделана, например, net use \\1.2.3.4 /user:newusername для переключения учетных данных. Тем не менее, даже когда net use показывал пустой список соединений, это все равно приводило к ошибке, в которой говорилось о том, что несколько соединений с одним и тем же ресурсом с разными пользователями не были разрешены - почему были соединения, которые не отображались в списке net use для меня загадка

Затем я нашел эту статью Как выйти из общей папки (microsoft.com), которая рекомендует:

  1. net use * /del (или любой другой сервер).
  2. Удалить учетные данные из диспетчера учетных данных.
  3. Перезапустите сервис рабочей станции.

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

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

Кроме того, подвопрос: для меня странно, что подавляющее большинство ресурсов, которые я нашел по этому вопросу, не предлагало перезапускать рабочую станцию, и предлагаемый процесс использования одного только net use работал, по крайней мере, для других людей, которые разместили комментарии к этим постам. Является ли перезапуск рабочей станции уникальным для меня и свидетельствует о какой-либо другой проблеме на моем компьютере, или она просто по какой-то причине была исключена из всех инструкций? Только в посте поддержки на microsoft.com были инструкции, которые рекомендовали этот шаг, и именно это помогло мне.

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


Другие вещи, которые я пробовал безрезультатно:

  • Закрытие всех окон Проводника до и после использования команд net use (как это было предложено в ответе Коди Браунса), а также задание параметров "отдельный процесс для каждой папки", в надежде, что это было своего рода кэширование учетных данных для каждого процесса (также вдохновленное этим ответ).
  • Изменение настроек управления соединениями в домашней группе (предложено в ответе holmzi_online на посте microsoft.com).
  • Уничтожение всех процессов проводника (включая основной) и перезапуск проводника после использования по net use * /del (предложено здесь Робертом Гриром, хотя эта проблема была связана с подключенными дисками).

4 ответа4

1

2) Вы не одиноки в этом вопросе. Большинство людей, вероятно, никогда не испытывают этого, потому что у них есть только один пользователь и / или несколько пользователей, но все с одним и тем же паролем. Я, кажется, испытываю это все время. Я предполагаю, что это потому, что у меня одно имя пользователя на нескольких компьютерах, но с разными паролями .. (Я не в домене; ноутбук - Windows 8.1 с серверами на базе Windows и Linux ..)

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

Что касается 1), мне нужно только закрыть окна проводника и (иногда командные строки), которые получили доступ к этой общей папке. Мне никогда не приходилось перезапускать сервис рабочей станции.

Но это может работать для меня, потому что я всегда говорю Windows "запускать окна папок в отдельном процессе" ..

Просто мысль..

1

Я получил это, сделав следующее:

  1. Запустите net use * /delete
  2. Очистите учетные данные (например, у меня 172.26.190.129, а дата создания сегодня, только она)
  3. Отключить "локальное подключение" (Панель управления \ Сеть и Интернет \ Net Connect \ Local Connect)
  4. Подождите немного (я не знаю почему, но я думаю, что это может сломать некоторые ссылки с моего Win7 на Ubuntu и очистить кеш)
  5. Включите "локальное подключение" и все заработало ..
0

Это может быть длинный выстрел, но вы достаточно долго ждали после использования net use * /d? Насколько я знаю, даже после удаления общего ресурса Windows сохраняет сеанс открытым, если есть открытые дескрипторы (окно проводника и т.д.). И даже после закрытия этих маркеров существует период ожидания, в течение которого он повторно подключит общий ресурс. По умолчанию кажется 10-15 минут. Вы можете сократить это в реестре.

См. Https://blogs.msdn.microsoft.com/oldnewthing/20110223-00/?p=11413.

Тем не менее, кажется, что KeepConn больше не используется в более новых версиях Windows. См. "Таймер простоя соединения" на этой странице:http://blogs.msdn.com/b/openspecification/archive/2013/03/19/cifs-and-smb-timeouts-in-windows.aspx

-3
net use * /del
net stop Workstation /Y
cmdkey /delete:<resourcename>
net start Workstation
net start browser

Способ 2: использовать несколько имен NetBIOS для одного компьютера:

reg add "HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters" /v OptionalNames /t REG_MULTI_SZ /d "NetBIOSName01\0 NetBIOSName02\0 NetBIOSName03\0"

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

net use L: \\NetBIOSName01 /user:<username01> <password01> /P:Yes
net use M: \\NetBIOSName02 /user:<username02> <password02> /P:Yes
net use N: \\NetBIOSName03 /user:<username03> <password03> /P:Yes

Отредактируйте %windir%\system32\drivers\etc\lmhosts и добавьте

<Server IP>  NetBIOSName01            #PRE
<Server IP>  NetBIOSName02            #PRE
<Server IP>  NetBIOSName03            #PRE
<Server IP>  <OriginalNetBIOSname>            #PRE

во всех сетевых рабочих станциях

Все пользователи будут подключаться к его ресурсам.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .