ฉันจะลบข้อมูลรับรองการเข้าสู่ระบบสำหรับตำแหน่งเครือข่ายใน Win7 ได้อย่างไร


60

ฉันพยายามเข้าถึงโฟลเดอร์อย่างเช่น:

\\somecomputeronmynetwork\somelocation$

เมื่อไปที่สถานที่นี้ฉันได้รับแจ้งชื่อผู้ใช้และรหัสผ่าน

ฉันใส่เข้าไปและมันก็ทำให้ฉันสบายดี

ตอนนี้ฉันต้องลบข้อมูลเข้าสู่ระบบนั้นดังนั้นฉันสามารถลองชื่อผู้ใช้และรหัสผ่านอื่นได้

วิธีที่ง่ายที่สุดในการทำเช่นนี้คืออะไร?

คำตอบ:


56

เปิดพรอมต์คำสั่งหรือจากประเภทเริ่มต้น / เรียกใช้:

net use \\somecomputeronmynetwork\somelocation$ /delete

คุณยังสามารถใช้คำสั่งต่อไปนี้เพื่อแสดงรายการการเชื่อมต่อที่ "จำได้":

net use

2
หากต้องการเพิ่มเพียงเล็กน้อยคุณสามารถพิมพ์net useเพื่อดูรายการการเชื่อมต่อจากนั้นเลือกการเชื่อมต่อและเพิ่มอาร์กิวเมนต์ / ลบตามที่ Nate แนะนำ
Safado

2
ผู้ใช้รายอื่นแนะนำC:\> net use * /dในServerFault - ลบข้อมูลรับรองที่แมปและด้านล่างทั้งหมด การเพิ่มความคิดเห็นนี้ในกรณีที่ผู้อ่านไม่เลื่อนลงมา
อับราฮัม

ต้องการขยายข้อความนี้ด้วยเตือนผู้คนเกี่ยวกับคำพูดรอบ \\ remotepc \ path เช่นนั้น "\\ remotepc \ spaced name"
Angry 84

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 และเซิร์ฟเวอร์ไฟล์แซมบ้าฉันได้ตรวจสอบสิ่งต่อไปนี้: หลังจากลบการเชื่อมต่อด้วยnet use /deleteโดยไม่ต้องเริ่มการทำงาน LanmanWorkstation อีกครั้งจะใช้เวลาสักครู่จนกว่าจะdir \\the\deletedshareสิ้นสุดการแสดงเนื้อหาที่ใช้ร่วมกัน การค้นหาแบบไบนารีที่สร้างในครั้งนี้คือ 13 วินาทีสำหรับฉัน ดูเหมือนว่า "ช่วงเวลารอคอย" จะขยายออกไปเมื่อมีการเข้าถึงการแชร์อีกครั้งในช่วงเวลานั้น
Moritz ทั้งคู่

47
  1. เปิดเมนูเริ่มของคุณในประเภทแถบค้นหา:

    manage passwords
    
  2. คุณจะเห็นแอปพลิเคชันที่ชื่อว่า Manage Windows Credentials
  3. เปิดแอปพลิเคชันนี้จากที่นั่นคุณสามารถตรวจสอบ / แก้ไข / ลบข้อมูลรับรองเครือข่ายที่บันทึกไว้

มันจะไม่ทำงานหาก Windows ของคุณไม่มีรหัสผ่านเข้าสู่ระบบดังนั้นใส่รหัสผ่าน


@JamesK ผู้ใช้ / รหัสผ่านและการแชร์ไม่มีอยู่ในรายการนั้น ความคิดอื่น ๆ ?
โจเซฟ

1
อาจลองรีสตาร์ทคอมพิวเตอร์ของคุณอาจมีแคชสำหรับเซสชันของคุณ ล้มเหลวที่ฉันไม่แน่ใจขอโทษ!
JamesK

@Joseph - อยู่ภายใต้จัดการรหัสผ่านเครือข่ายหรือไม่
GregD

1
โปรดทราบว่าการค้นหาที่แน่นอนนี้ใช้ได้กับ Windows รุ่นภาษาอังกฤษเท่านั้น
stommestack

1
สิ่งนี้ใช้ได้สำหรับฉันเมื่อไม่ได้ใช้ ฉันพยายามเข้าสู่ระบบด้วยบัญชีที่ถูกปิดใช้งาน บางทีความจริงที่ว่าฉันไม่ประสบความสำเร็จก็มีบางอย่างเกี่ยวข้องกับมัน ใน Windows 10 ฉันต้องค้นหา "ข้อมูลรับรอง"
Dominic Cronin

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 $ บนคอมพิวเตอร์ของคุณเองด้วยสิทธิ์ของผู้ดูแลระบบ

คุณลบการแชร์ของฉันด้วยการคลิกขวาหรือ net use x: /delete

แต่สิ่งนี้ไม่ได้ลบการเชื่อมต่อของลูกค้าของคุณไปยังเซิร์ฟเวอร์ เพียงแค่เรียกดูเซิร์ฟเวอร์ใน explorer โดยไม่ต้องเชื่อมต่อแชร์จะนับและป้องกันไม่ให้คุณใช้ข้อมูลประจำตัวอื่นเพื่อเข้าสู่เซิร์ฟเวอร์นั้นเว้นแต่คุณจะปิดบังชื่อ

ตาม Microsoft นี้เป็นคุณสมบัติ


การทำแผนที่ด้วยรหัสผ่านจะทำให้เกิดช่องโหว่ด้านความปลอดภัย ไปที่ Windows Explorer และพิมพ์อักขระบางตัวของเส้นทางที่ใช้ร่วมกันของคุณและดูว่ารหัสผ่านของคุณปรากฏเป็นข้อความธรรมดาหรือไม่ มันทำในคอมพิวเตอร์ของฉัน (Win 7 SP1 อัปเดตด้วยโปรแกรมแก้ไขด่วนล่าสุด ณ วันนี้
Lee Grissom

ไม่สามารถทำซ้ำพฤติกรรมนี้ ฉันสามารถคาดเดาได้ว่าคุณได้ใส่รหัสผ่านในข้อความธรรมดาในลำดับบรรทัดคำสั่งไม่ใช่เมื่อถูกถาม นั่นเป็นสาเหตุที่ "*" ตัวที่สองอยู่ในบรรทัดคำสั่ง - เราจึงถูกถามซึ่งซ่อน pw
Posipiet

ฉันจำไม่ได้ แต่ฉันค่อนข้างมั่นใจว่าฉันจะไม่พิมพ์รหัสผ่านเป็นข้อความธรรมดา อย่างไรก็ตามตอนนี้ฉันใช้ Windows 8 Pro และฉันไม่สามารถทำซ้ำได้อีก
Lee Grissom

6

ในการลบการเชื่อมต่อกับพีซีที่มีการเข้าถึงโฟลเดอร์และผู้ใช้ถูกแคช (เช่นยังคงใช้งานอยู่) จะต้องใช้ขั้นตอนต่อไปนี้อย่างเข้มงวด (ทีละขั้นตอน):

  1. เข้าถึงโฟลเดอร์ด้วย User / Password

2 ปิด windows explorer ทั้งหมดของเครื่อง

3 เปิดพรอมต์คำสั่ง

4 ดำเนินการคำสั่ง

ใช้สุทธิ * / del

*** ควรทำตามลำดับนี้ไม่อย่างนั้นไม่สามารถใช้งานได้ ตัวอย่างเช่นหากพรอมต์คำสั่งเปิดอยู่แล้ว (ก่อนที่ windows explorer) คำสั่งจะไม่ทำงาน


2
หมายเหตุ: "net use \\ somecomputeronmynetwork \ somelocation $ / d" จะลบข้อมูลรับรองสำหรับการเชื่อมต่อเฉพาะนั้น
BrianCooksey

4

ลองสิ่งนี้มันอาจทำงานได้กับ Windows 7 [ใช้งานได้กับ XP] เพียงพิมพ์สิ่งนี้ใน Start-> Run-> control keymgr.dll
มันจะเปิดหน้าต่างขึ้นมาซึ่งจะมีการจัดเก็บรหัสผ่านและชื่อผู้ใช้ที่เก็บไว้คุณจะสามารถลบออกได้


ขอบคุณสิ่งนี้ช่วยฉัน ฉันใช้สิ่งนี้เพื่อลบแล้วออกจากระบบกลับบูมมันทำงานได้
Esen

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 จะถูกบันทึกใน Credential Manager

แผงควบคุม \ รายการทั้งหมดในแผงควบคุม \ ผู้จัดการข้อมูลประจำตัว

หากคุณรับรองความถูกต้องด้วยชื่อผู้ใช้และรหัสผ่านไปยังตำแหน่งเครือข่ายชื่อผู้ใช้และรหัสผ่านนั้นจะยังคงถูกแคชไว้สำหรับเซสชันการเข้าสู่ระบบของคุณ คุณจะต้องออกจากระบบและเปิดใหม่ก่อนจึงจะสามารถตรวจสอบความถูกต้องอีกครั้งได้


ดูnet useคำตอบข้างต้น และข้อมูลรับรองที่คุณใช้ผ่าน Windows Explorer เพื่อเข้าถึงการแชร์เครือข่ายจะไม่ถูกจัดเก็บไว้ในตัวจัดการข้อมูลประจำตัว
Safado

ฉันจะสนใจวิธีที่คุณอธิบายภาพหน้าจอต่อไปนี้แล้ว ลิงก์
Lewis

ฉันคิดว่าฉันยืนแก้ไข (บางที) คุณเพิ่มข้อมูลรับรองเหล่านั้นด้วยตนเองหรือไม่ ฉันจัดการผู้ใช้ 80 คนที่นี่ที่ บริษัท ของฉันทุกคนใน Windows 7 และทุกคนเชื่อมต่อกับการแชร์หลายครั้งและเท่าที่ฉันรู้ไม่ใช่คนคนเดียวที่เข้าร่วมใน Credentials Manager คำตอบของคุณยังคงทำให้เข้าใจผิด คุณไม่จำเป็นต้องออกจากระบบและเข้าสู่ระบบอีกครั้งเพื่อบังคับใช้การตรวจสอบสิทธิ์ซ้ำ
Safado

หากคุณRemember thisทำเครื่องหมายในช่องเมื่อระบุข้อมูลรับรองของคุณจะถูกเก็บไว้ที่นั่น อย่างไรก็ตามกล่องดังกล่าวจะไม่ถูกทำเครื่องหมายโดยค่าเริ่มต้น คำตอบของคุณทำให้เข้าใจผิดว่าเป็นเพราะคุณไม่จำเป็นต้องปิดเซสชันการเข้าสู่ระบบของคุณเพื่อรับรองความถูกต้องอีกครั้ง
เนท

ตรงนี้ตอบคำถาม "ฉันจะลบข้อมูลประจำตัวเข้าสู่ระบบสำหรับตำแหน่งเครือข่ายใน win7" ได้อย่างไร ที่อยู่คำตอบอื่น ๆ ทั้งหมดที่เปลี่ยนเครือข่ายใช้ร่วมกันเอง (และดังนั้นข้อมูลประจำตัว)
anregen

1

ฉันได้ค้นพบจากคำตอบของ @ 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 - สำหรับ Windows 32 และ 64 บิต:

เป็นทางเลือกแทน C นี่คือการสอน C # แบบง่าย ๆ บน API:


1

ใน Windows 10 (Powershell 5+) คุณสามารถใช้งานRemove-SmbMappingได้เช่นกัน

Remove-SmbMapping -RemotePath \\somecomputeronmynetwork\somelocation$

Get-Command *Smb*ยังตรวจสอบ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.