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ć?
net use
aby zobaczyć listę połączeń, a następnie wybrać połączenie i dodać argument / delete, jak sugerował Nate.C:\> net use * /d
w ServerFault - Usuń wszystkie zamapowane poświadczenia i poniżej. Dodanie tego komentarza na wypadek, gdyby czytelnicy nie przewijali w dół.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)net use /delete
, bez ponownego uruchamiania LanmanWorkstation, potrzeba czasu, ażdir \\the\deletedshare
przestanie 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.Otwórz menu Start, w pasku wyszukiwania wpisz:
Nie będzie działać, jeśli twój system Windows nie ma hasła logowania, więc umieść na nim hasło
źródło
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ń:
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.
źródło
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):
2 Zamknij wszystkie okna eksploratora systemu
3 Otwórz wiersz polecenia
4 Wykonaj polecenie
*** 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ć.
źródło
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ąć.
źródło
Używam fałszywych danych uwierzytelniających, aby naprawdę wyłączyć dostęp.
wydaje się, że zastępuje stare poświadczenia i zmusza eksploratora do próby użycia nowych złych poświadczeń.
źródło
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ć.
źródło
net use
odpowiedzi 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ń.Remember this
zaznaczysz 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.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\Share
naS:\
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
:Oto
CMakeLists.txt
:Kompiluj za pomocą MinGW-w64 - dla 32 i 64-bitowego systemu Windows:
Jako alternatywa dla C, oto prosty tutorial C # na API:
Programowe mapowanie litery dysku:
http://www.blackwasp.co.uk/mapdriveletter.aspx
źródło
W systemie Windows 10 (Powershell 5+) możesz teraz także używać
Remove-SmbMapping
.Sprawdź także
Get-Command *Smb*
.źródło