Как удалить учетные данные для входа в сеть в Win7?

Я просто попытался получить доступ к папке следующим образом:

\\somecomputeronmynetwork\somelocation$

При переходе в это место мне предлагается ввести имя пользователя и пароль.

Я положил один, и это позволило мне в порядке.

Теперь мне нужно удалить этот логин, чтобы я мог попробовать другое имя пользователя и пароль.

Какой самый простой способ сделать это?

11 ответов

Решение

Откройте командную строку или запустите / запустите тип:

net use \\somecomputeronmynetwork\somelocation$ /delete

Вы также можете использовать следующую команду для вывода списка "запомненных" соединений:

net use
  1. Откройте меню "Пуск" в строке поиска:

    manage passwords
    
  2. Вы увидите приложение под названием Управление учетными данными Windows.
  3. Откройте это приложение, там вы можете проверить / отредактировать / удалить сохраненные сетевые учетные данные.

Он не будет работать, если в вашей 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

это, кажется, перезаписывает старые учетные данные и заставляет проводника пытаться использовать новые неверные учетные данные.

Чтобы удалить соединение с ПК, на котором оно было сделано для доступа к папке и кеширования пользователя (т.е. остается активным), необходимо неукоснительно использовать следующую процедуру (пошагово):

  1. получить доступ к папке с помощью пользователя / пароля

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:

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