Jak usunąć dane logowania do lokalizacji sieciowej w Win7?


60

Właśnie próbowałem uzyskać dostęp do takiego folderu:

\\somecomputeronmynetwork\somelocation$

Przechodząc do tej lokalizacji, pojawia się monit o podanie nazwy użytkownika i hasła.

Włożyłem jedną i pozwoliło mi to dobrze.

Teraz muszę usunąć ten login, aby móc wypróbować inną nazwę użytkownika i hasło.

Jak najłatwiej to zrobić?

Odpowiedzi:


56

Otwórz wiersz komend lub od typu start / run:

net use \\somecomputeronmynetwork\somelocation$ /delete

Możesz także użyć następującego polecenia, aby wyświetlić listę „zapamiętanych” połączeń:

net use

2
Aby dodać trochę, możesz wpisać tylko, net useaby zobaczyć listę połączeń, a następnie wybrać połączenie i dodać argument / delete, jak sugerował Nate.
Safado

2
Inny użytkownik zasugerował C:\> net use * /dw ServerFault - Usuń wszystkie zamapowane poświadczenia i poniżej. Dodanie tego komentarza na wypadek, gdyby czytelnicy nie przewijali w dół.
Abraham,

Chciałbym to rozszerzyć również o przypominanie ludziom o cudzysłowach wokół ścieżki \\ remotepc \ w ten sposób „\\ remotepc \ spaced name”
Angry 84

1
taka odpowiedź mówi, że serverfault.com/a/486506/290859 ponowne uruchomienie usługi „stacji roboczej” jest kluczowe po net use .../delete (tak, możesz również zalogować się / wylogować po tej komendzie, ale dla mnie ponowne uruchomienie „usługi stacji roboczej” było wystarczające). Jest to nazwa serwera: LanmanWorkstation // ścieżka: C: \ WINDOWS \ System32 \ svchost.exe -k NetworkService -p // sc stop lanmanworkstation sc start lanmanworkstationg(z podwyższonymi uprawnieniami)
eli

1
Korzystając z win7 x64 i serwera plików samba, zauważyłem, co następuje: Po usunięciu połączenia z net use /delete, bez ponownego uruchamiania LanmanWorkstation, potrzeba czasu, aż dir \\the\deletedshareprzestanie być wyświetlana zawartość udziału. Wyszukiwanie binarne wykonane tym razem to dla mnie 13 sekund. Wydaje się, że ten „okres oczekiwania” zostaje przedłużony, gdy w tym czasie ponownie uzyskuje się dostęp do udziału.
Moritz Zarówno

47
  1. Otwórz menu Start, w pasku wyszukiwania wpisz:

    manage passwords
    
  2. Zobaczysz aplikację o nazwie Zarządzaj poświadczeniami systemu Windows.
  3. Otwórz tę aplikację, a następnie możesz sprawdzić / edytować / usunąć zapisane poświadczenia sieciowe.

Nie będzie działać, jeśli twój system Windows nie ma hasła logowania, więc umieść na nim hasło


@JamesK Użytkownik / hasło i udział nie są tam wymienione. Jakieś inne pomysły?
Joseph,

1
prawdopodobnie spróbuj ponownie uruchomić komputer, być może zostały zapisane w pamięci podręcznej dla Twojej sesji. w przeciwnym razie nie jestem pewny, przepraszam!
JamesK

@Joseph - czy to jest w obszarze Zarządzaj hasłami sieciowymi?
GregD,

1
Pamiętaj, że to dokładne wyszukiwanie działa tylko w angielskiej wersji systemu Windows.
stommestack

1
Działa to dla mnie, gdy „wykorzystanie netto” nie działało. Próbowałem zalogować się przy użyciu wyłączonego konta. Być może fakt, że mi się nie udało, miał coś z tym wspólnego. W systemie Windows 10 musiałem wyszukać „Poświadczenia”.
Dominic Cronin

6

System Windows próbuje uniemożliwić logowanie się do tego samego serwera przy użyciu różnych poświadczeń jednocześnie, z jakiegoś niejasnego „powodu bezpieczeństwa”.

To przechwycenie ma miejsce po stronie klienta, a nie po stronie serwera.

Można to obejść, używając adresu IP serwera zamiast nazwy serwera. Osobiście robię to w wierszu poleceń:

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

W ten sposób możesz nawet połączyć się dwukrotnie z tym samym udziałem z różnymi poświadczeniami. Niezwykle przydatne, gdy próbujesz debugować problemy z uprawnieniami użytkownika z komputera użytkownika. Działa nawet w celu połączenia, powiedzmy c $, na twoim komputerze z uprawnieniami administratora.

Usuwasz udział, klikając go prawym przyciskiem myszy lub net use x: /delete

Ale: To nie usuwa przypuszczalnego połączenia klienta z serwerem. Tylko przeglądanie serwera w eksploratorze, nawet bez łączenia udziału, ma znaczenie i uniemożliwia użycie innego poświadczenia do zalogowania się na tym serwerze, chyba że ukryjesz nazwę.

Według Microsoft jest to funkcja.


Mapowanie w ten sposób hasłem ujawnia lukę w zabezpieczeniach. Przejdź do Eksploratora Windows i wpisz kilka znaków ze wspólnej ścieżki i sprawdź, czy hasło jest wyświetlane zwykłym tekstem. Działa na moim komputerze (Win 7 SP1 zaktualizowany z najnowszymi poprawkami na dzień dzisiejszy.
Lee Grissom

Nie można odtworzyć tego zachowania. Mogę tylko spekulować, że wprowadziłeś hasło w postaci tekstu jawnego w kolejności wiersza poleceń, a nie na prośbę. Dlatego drugie „*” znajduje się w wierszu poleceń - więc zostajemy zapytani, co ukrywa pw.
Posipiet 24.04.13

Nie pamiętam dokładnie, ale jestem całkiem pewien, że nigdy nie wpisałbym hasła w postaci zwykłego tekstu. Jednak teraz używam Windows 8 Pro i nie mogę już się rozmnażać.
Lee Grissom,

6

Aby usunąć połączenie z komputerem, na którym uzyskano dostęp do folderu, a użytkownik był buforowany (tzn. Pozostaje aktywny), należy rygorystycznie zastosować następującą procedurę (krok po kroku):

  1. uzyskać dostęp do folderu za pomocą użytkownika / hasła

2 Zamknij wszystkie okna eksploratora systemu

3 Otwórz wiersz polecenia

4 Wykonaj polecenie

Wykorzystanie netto * / del

*** Należy to zrobić w tej kolejności, w przeciwnym razie nie będzie działać. Na przykład, jeśli wiersz polecenia jest już otwarty (przed eksploratorem Windows) polecenie nie będzie działać.


2
UWAGA: „net use \\ somecomputeronmynetwork \ somelocation $ / d” usunie poświadczenia dla tego konkretnego połączenia.
BrianCooksey

4

Wypróbuj to, może działać na Windows 7 [działa na XP]. Wystarczy wpisać to w Start-> Uruchom-> control keymgr.dll
Otworzy się okno, w którym zapisane zostanie hasło i nazwy użytkowników, z których będzie można je usunąć.


Dziękuję, to mi pomogło. Użyłem tego, aby usunąć, a następnie wylogować się, boom zadziałał.
Esen,

4

Używam fałszywych danych uwierzytelniających, aby naprawdę wyłączyć dostęp.

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

wydaje się, że zastępuje stare poświadczenia i zmusza eksploratora do próby użycia nowych złych poświadczeń.


Jedyne rozwiązanie, które działało w systemie Windows Server 2016/2019 bez konieczności wylogowania - dziękuję! Było to bardzo ważne w ustawieniach serwera.
Mike Weir

3

Wszystkie zapisane hasła do systemu Windows 7 są zapisywane w Menedżerze poświadczeń.

Panel sterowania \ Wszystkie elementy Panelu sterowania \ Menedżer poświadczeń

Jeśli uwierzytelnisz się przy użyciu nazwy użytkownika i hasła do lokalizacji sieciowej, nazwa użytkownika i hasło pozostaną w pamięci podręcznej dla sesji logowania. Musisz się wylogować i ponownie zalogować, aby móc ponownie uwierzytelnić.


Zobacz net useodpowiedzi powyżej. Poświadczenia używane przez Eksploratora Windows do uzyskiwania dostępu do udziałów sieciowych nie są przechowywane w Menedżerze poświadczeń.
Safado

Byłbym zainteresowany tym, jak wyjaśnisz poniższy zrzut ekranu. link
Lewis,

Chyba poprawiłem się (być może). Czy ręcznie dodałeś te poświadczenia? Zarządzam 80 użytkownikami tutaj w mojej firmie, wszyscy w systemie Windows 7, i wszyscy łączą się z wieloma udziałami i, o ile mi wiadomo, żadna osoba nie ma wpisu w Menedżerze poświadczeń. W każdym razie twoja odpowiedź wciąż wprowadza w błąd. Nie musisz się wylogowywać i ponownie logować, aby wymusić ponowne uwierzytelnienie.
Safado

Jeśli Remember thiszaznaczysz pole wyboru podczas podawania poświadczeń, zostaną one tam zapisane. Jednak to pole nie jest domyślnie zaznaczone. Twoja odpowiedź jest jednak myląca, ponieważ nie trzeba zamykać sesji logowania w celu ponownego uwierzytelnienia.
Nate

To DOKŁADNIE odpowiada na pytanie „Jak usunąć dane logowania do lokalizacji sieciowej w win7”. Wszystkie pozostałe adresy odpowiedzi zmieniają sam udział sieciowy (aw konsekwencji poświadczenia).
anregen

1

Odkryłem również z odpowiedzi @ rocketsarefast, że Windows wyczyści stare dane uwierzytelniające w sieci, gdy nastąpi nowa próba logowania.

Jego net use "\\10.0.0.5\c$" "badpassword" /user:"baduser"polecenie jest jednak zbyt wolne, szczególnie gdy klient musi czekać do kilku sekund, aż serwer zareaguje odrzuceniem, co jest okropne i niewygodne.

W moim przypadku mogłem użyć interfejsu API Win32 do mapowania udziału sieciowego \\Server\Sharena S:\dysku. Najpierw odłącza dysk, a następnie monituje użytkownika do okna dialogowego logowania do sieci Windows, aby osoba mogła się wylogować i zalogować jako inny użytkownik.

Oto kod 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;
}

Oto 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)

Kompiluj za pomocą MinGW-w64 - dla 32 i 64-bitowego systemu Windows:

Jako alternatywa dla C, oto prosty tutorial C # na API:


1

W systemie Windows 10 (Powershell 5+) możesz teraz także używać Remove-SmbMapping.

Remove-SmbMapping -RemotePath \\somecomputeronmynetwork\somelocation$

Sprawdź także Get-Command *Smb*.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.