Как удалить учетные данные для входа в сеть в Win7?
Я просто попытался получить доступ к папке следующим образом:
\\somecomputeronmynetwork\somelocation$
При переходе в это место мне предлагается ввести имя пользователя и пароль.
Я положил один, и это позволило мне в порядке.
Теперь мне нужно удалить этот логин, чтобы я мог попробовать другое имя пользователя и пароль.
Какой самый простой способ сделать это?
11 ответов
Откройте командную строку или запустите / запустите тип:
net use \\somecomputeronmynetwork\somelocation$ /delete
Вы также можете использовать следующую команду для вывода списка "запомненных" соединений:
net use
Откройте меню "Пуск" в строке поиска:
manage passwords
- Вы увидите приложение под названием Управление учетными данными Windows.
- Откройте это приложение, там вы можете проверить / отредактировать / удалить сохраненные сетевые учетные данные.
Он не будет работать, если в вашей Windows нет пароля для входа, поэтому введите пароль
Windows пытается предотвратить одновременный вход на один и тот же сервер с разными учетными данными, по какой-то неясной "причине безопасности".
Этот перехват происходит на стороне клиента, а не на стороне сервера.
Вы можете обойти это, используя IP-адрес сервера вместо Servername. Лично я делаю это в командной строке:
net use * \\myservername\mysharename /user:mydomain\theotheruser * /persistent:no
==> error - security reasons
net use * \\x.y.z.z'\mysharename /user:mydomain\theotheruser * /persistent:no
==> just fine
Таким образом, вы даже можете дважды подключиться к одному и тому же общему ресурсу с разными учетными данными. Невероятно полезно, когда вы пытаетесь отладить проблемы с разрешениями пользователя с его компьютера. Даже работает для подключения, скажем, c $, на вашем компьютере с правами администратора.
Вы удаляете акцию, либо щелкаете по ней правой кнопкой мыши, либо net use x: /delete
Но: Это не удаляет предполагаемое соединение вашего клиента с сервером. Простой переход на сервер в проводнике, даже без подключения к общему ресурсу, имеет значение и не позволяет использовать другие учетные данные для входа на этот сервер, если вы не замаскируете имя.
По словам Microsoft, это особенность.
Я использую поддельные учетные данные, чтобы действительно отключить доступ.
net use * /d /y
net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"
net use * /d /y
это, кажется, перезаписывает старые учетные данные и заставляет проводника пытаться использовать новые неверные учетные данные.
Чтобы удалить соединение с ПК, на котором оно было сделано для доступа к папке и кеширования пользователя (т.е. остается активным), необходимо неукоснительно использовать следующую процедуру (пошагово):
- получить доступ к папке с помощью пользователя / пароля
2 Закройте все окна проводника на машине
3 Откройте командную строку
4 Выполните команду
Чистое использование * / del
*** Должно быть сделано в этой последовательности, иначе не может работать. Например, если командная строка уже открыта (до проводника Windows), команда работать не будет.
Все сохраненные пароли для Windows 7 сохраняются в диспетчере учетных данных.
Панель управления \ Все элементы панели управления \ Диспетчер учетных данных
Если вы аутентифицируетесь с именем пользователя и паролем в сетевом расположении, то это имя пользователя и пароль останутся в кэше для вашего сеанса входа. Вам нужно будет выйти и снова войти, прежде чем вы сможете повторно пройти аутентификацию.
Попробуйте это, это может работать на Windows 7 [это работает на XP]. Просто введите это в Пуск-> Выполнить-> control keymgr.dll
Откроется окно, в котором будут храниться сохраненные пароли и имена пользователей, вы сможете оттуда удалить.
Вы, конечно, можете удалить свое соединение, выполнив
netuse \\somemachine\someshare /d
Но вы, вероятно, тоже захотите снова подключиться. Кроме того, если у вас есть кэшированные учетные данные в общей сетевой папке, то при повторном установлении соединения вы можете столкнуться с одной из следующих ошибок:
Произошла системная ошибка 1272.
Вы не можете получить доступ к этой общей папке, потому что политики безопасности вашей организации блокируют неаутентифицированный гостевой доступ. Эти политики помогают защитить ваш компьютер от небезопасных или вредоносных устройств в сети.
или же
Произошла системная ошибка 1219.
Множественные подключения к серверу или общему ресурсу одним и тем же пользователем с использованием более одного имени пользователя не допускаются. Отключите все предыдущие подключения к серверу или общему ресурсу и повторите попытку.
Вместо этого я предлагаю решить проблему без перезагрузки, выполнив следующие действия:
net stop workstation
net start workstation
У этого есть дополнительный бонус, что, хотя вы отключите все существующие общие ресурсы, они не будут забыты, как если бы вы удалили их чем-то вроде
netuse * /d
.
Если вам не нравится командная строка, вы можете в качестве альтернативы перезапустить службу рабочей станции, перейдя непосредственно в службы:
- Нажмите клавишу Windows, введите
services
, нажмите Ввод - Найдите службу под названием "Рабочая станция". щелкните его правой кнопкой мыши и выберите перезапуск.
Тогда попробуйте свой
netuse \\somemachine\someshare /user:someuser
команду еще раз, чтобы получить повторный запрос учетных данных.
Возможно это особенность Windows 10, но мне тоже нужно было сделатьklist purge
. Итак, краткий ответ будет:
net use * /delete
klist purge
В Windows 10 (Powershell 5+) теперь также можно использовать Remove-SmbMapping
,
Remove-SmbMapping -RemotePath \\somecomputeronmynetwork\somelocation$
Также проверьте Get-Command *Smb*
,
Из ответа @rocketsarefast я также обнаружил , что Windows удалит старые сетевые учетные данные при новой попытке входа в систему.
Однако его net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"
Команда слишком медленная, особенно когда клиенту приходится ждать до нескольких секунд, пока сервер ответит отказом, что ужасно и неудобно.
В моем случае я смог использовать Win32 API для сопоставления общего сетевого ресурса. \\Server\Share
к S:\
привод. Сначала он отключает диск, а затем предлагает пользователю диалоговое окно входа в сеть Windows, чтобы человек мог выйти из системы и войти в систему как другой пользователь.
Вот код C main.c
:
#ifndef UNICODE
#define UNICODE
#endif
#define WINVER 0x0500
#define _WIN32_WINNT 0x0500
#define _WIN32_IE 0x0500
#pragma comment(lib, L"mpr.lib")
#include <windows.h>
//#include <stdio.h>
int wmain(const size_t argc, const wchar_t** argv) {
NETRESOURCE networkResource = {0};
networkResource.dwType = RESOURCETYPE_DISK;
networkResource.lpLocalName = L"S:";
networkResource.lpRemoteName = L"\\\\Server\\Share";
networkResource.lpProvider = NULL;
DWORD result = 0;
result = WNetCancelConnection2(networkResource.lpLocalName, CONNECT_UPDATE_PROFILE, TRUE);
// wprintf(L"WNetCancelConnection2 result: %d\n", result);
result = WNetAddConnection2(&networkResource, NULL, NULL, CONNECT_INTERACTIVE | CONNECT_PROMPT);
// wprintf(L"WNetAddConnection2 result: %d\n", result);
// getchar();
return EXIT_SUCCESS;
}
Здесь CMakeLists.txt
:
cmake_minimum_required(VERSION 3.7)
project(MapNetworkDrive)
set(CMAKE_C_STANDARD 11)
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c11 -g3 -pedantic -Wall -Wextra -O0")
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${GCC_COVERAGE_LINK_FLAGS} -municode -mwindows")
set(SOURCE_FILES main.c)
add_executable(MapNetworkDrive ${SOURCE_FILES})
target_link_libraries(MapNetworkDrive mpr.lib)
Компиляция с использованием MinGW-w64 - для 32- и 64-битной Windows:
В качестве альтернативы C, вот простое руководство по C# по API:
Назначение буквы диска программно: