如何在Win7中删除网络位置的登录凭据?


60

我只是想像这样访问一个文件夹:

\\somecomputeronmynetwork\somelocation$

转到该位置时,系统会提示我输入用户名和密码。

我把它放进去,这让我很好。

现在,我需要删除该登录名,以便尝试其他用户名和密码。

最简单的方法是什么?

Answers:


56

打开命令提示符或从开始/运行类型输入:

net use \\somecomputeronmynetwork\somelocation$ /delete

您还可以使用以下命令列出“记住的”连接:

net use

2
要添加一点,您可以仅键入net use以查看连接列表,然后选择一个连接并添加/ delete参数,如Nate建议的那样。
萨法多2011年

2
C:\> net use * /dServerFault中建议另一个用户-删除所有映射的凭据及其下方。如果读者不向下滚动,请添加此注释。
亚伯拉罕

想要扩展这一点,还提醒人们有关\\ remotepc \ path周围的引号,例如“ \\ remotepc \ spaced name”
生气

1
像这样的答案说serverfault.com/a/486506/290859在重启“工作站”服务之后至关重要net use .../delete (是的,您也可以在此命令后登录/注销,但是对我来说,重启“ workstationservice”就足够了。)。服务名称:LanmanWorkstation //路径:C:\ WINDOWS \ System32 \ svchost.exe -k NetworkService -p // sc stop lanmanworkstation sc start lanmanworkstationg(具有提升的特权)
eli

1
使用win7 x64和samba文件服务器,我观察到以下内容:删除具有的连接后net use /delete,无需重新启动LanmanWorkstation,这需要一段时间才能dir \\the\deletedshare停止显示共享内容。这次产生的二进制搜索对我来说是13秒。当在此期间再次访问共享时,似乎延长了该“等待时间”。
莫里茨都

47
  1. 打开开始菜单,在搜索栏中键入:

    manage passwords
    
  2. 您将看到一个名为“管理Windows凭据”的应用程序。
  3. 从那里打开此应用程序,您可以检查/编辑/删除您保存的网络凭据。

如果您的Windows没有登录密码,它将无法正常工作,因此请在上面输入密码


@JamesK用户/密码和共享未在此处列出。还有其他想法吗?
约瑟夫

1
可能尝试重新启动计算机,它们可能已为您的会话缓存。否则我不确定后悔!
JamesK 2010年

@Joseph-在“管理网络密码”下吗?
GregD

1
请注意,此精确搜索仅适用于英文版Windows。
stommestack

1
当“网络使用”不起作用时,这对我有用。我试图使用已禁用的帐户登录。也许我没有成功的事实与它有关。在Windows 10上,我必须搜索“凭据”。
多米尼克·克罗宁

6

Windows出于某些模糊的“安全原因”,尝试阻止同时使用不同的凭据登录到同一服务器。

这种拦截发生在客户端,而不是服务器端。

您可以使用服务器的IP地址而不是服务器名来规避此问题。就个人而言,我在命令行中执行此操作:

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 $,例如c $。

您可以通过右键单击删除共享,或者 net use x: /delete

但是:这不会删除您的客户端与服务器的假定连接。仅浏览到资源管理器中的服务器就算没有连接共享也不会计数,并且会阻止您使用其他凭据登录该服务器,除非您掩盖了名称。

根据Microsoft的说法,这是一项功能。


通过这种方式与密码进行映射会暴露一个安全漏洞。转到Windows资源管理器,然后输入共享路径的几个字符,然后查看您的密码是否以纯文本显示。它在我的电脑(Win 7的SP1与最新的修补程序更新的今天。
李·格里索姆

无法重现此行为。我只能推测您确实按命令行顺序以明文形式输入了密码,而不是在询问时输入密码。这就是为什么第二个“ *”出现在命令行中的原因-因此我们被问到,它隐藏了pw。
Posipiet

我记不清了,但是我很确定我永远不会以明文形式输入密码。但是,我现在正在使用Windows 8 Pro,并且无法再复制。
Lee Grissom 2013年

6

要删除到PC的连接,在该PC上访问文件夹并已缓存用户(即保持活动状态),必须严格按照以下步骤操作(逐步):

  1. 使用用户/密码访问文件夹

2关闭机器的所有Windows资源管理器

3打开命令提示符

4执行命令

净用量* / del

***应按此顺序进行,否则无法正常工作。例如,如果命令提示符已经打开(在Windows资源管理器之前),则该命令将不起作用。


2
注意:“ net use \\ somecomputeronmynetwork \ somelocation $ / d”将删除该特定连接的凭据。
BrianCooksey 2014年

4

尝试此操作,它可能在Windows 7上运行[在XP上运行]。只需在开始->运行->控制keymgr.dll中键入此内容,
它将打开一个窗口,在该窗口中将存储所存储的密码和用户名,您可以从此处删除。


谢谢,这对我有帮助。我用它来删除然后注销登录回潮它的工作。
Esen 2015年

4

我使用伪造的凭证来真正禁止访问。

net use * /d /y
net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"
net use * /d /y

这似乎会覆盖旧的凭据,并迫使资源管理器尝试使用新的错误凭据。


唯一无需注销即可在Windows Server 2016/2019上运行的解决方案-谢谢!在服务器设置中非常重要。
Mike Weir

3

Windows 7的所有保存的密码都保存在凭据管理器中。

控制面板\所有控制面板项目\凭据管理器

如果使用网络位置的用户名和密码进行身份验证,则该用户名和密码将保留在登录会话中。您需要先注销然后重新登录,然后才能重新进行身份验证。


请参阅net use上面的答案。通过Windows资源管理器访问网络共享所使用的凭据不会存储在凭据管理器中。
萨法多2011年

我会对您接下来如何解释以下屏幕截图感兴趣。链接
刘易斯

我想我可能会改正。您是否手动添加了这些凭据?我在公司的这里管理着80位用户,所有用户都使用Windows 7,每个人都可以连接到多个共享,据我所知,在凭据管理器中没有一个人可以为其输入条目。无论如何,您的答案仍然会产生误导。您无需注销并重新登录即可强制进行重新认证。
萨法多

如果Remember this在提供凭据时选中该复选框,它将被存储在此处。但是,默认情况下未选中该框。但是,您的答案具有误导性,因为您无需关闭登录会话即可重新进行身份验证。
奈特

这完全可以回答问题“如何在win7中删除网络位置的登录凭据”。更改网络的所有其他应答地址将共享自身(并因此共享凭据)。
anregen 2014年

1

我还从@rocketsarefast的答案中发现,当尝试进行新的登录时,Windows将清除旧的网络凭据。

但是,他的net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"命令太慢了,特别是当客户端必须等待几秒钟才能让服务器响应拒绝时,这是很糟糕且不便的。

对于我的用例,我能够使用Win32 API将网络共享映射\\Server\ShareS:\驱动器。它首先断开驱动器的连接,然后通过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的替代,这是关于API的简单C#教程:


1

在Windows 10(Powershell 5+)中,现在也可以使用Remove-SmbMapping

Remove-SmbMapping -RemotePath \\somecomputeronmynetwork\somelocation$

还检查一下Get-Command *Smb*

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.