Ngắt kết nối / đăng xuất khỏi chia sẻ mạng Windows mà không khởi động lại dịch vụ Workstation


14

Tôi có một máy chủ tệp đang chạy (SMB) mà tôi đã kết nối trong Explorer (Windows 7 Professional) bằng cách truy cập trực tiếp \ 1.2.3.4. Tôi đã đăng nhập với tư cách một người dùng, không lưu thông tin đăng nhập và bây giờ muốn đăng xuất (thực ra tôi muốn thay đổi thành một người dùng khác, nhưng nói chung có thể đăng xuất sẽ hữu ích).

Tôi đã tìm kiếm các cách để làm điều này và tìm thấy một loạt thông tin gợi ý sử dụng một số hình thức net use \\1.2.3.4 /del:

Tuy nhiên, không ai trong số này thực sự có vẻ làm việc cho tôi. Tôi chạy net use * /del, sau đó sử dụng net useđể xác minh rằng danh sách trống, và phần chia sẻ vẫn còn bí ẩn trong explorer, không bị ảnh hưởng, có thể truy cập và vẫn sử dụng thông tin đăng nhập trước đó.

Một điều khác tôi đã thử, cũng thất bại, là làm ví dụ net use \\1.2.3.4 /user:newusernameđể chuyển đổi thông tin đăng nhập. Tuy nhiên, ngay cả khi net usehiển thị danh sách kết nối trống , điều này vẫn tạo ra lỗi cho biết rằng nhiều kết nối đến cùng một tài nguyên với những người dùng khác nhau không được phép - tại sao có những kết nối không hiển thị trong net usedanh sách là một bí ẩn đối với tôi.

Sau đó tôi đã tìm thấy bài viết này Cách đăng xuất khỏi thư mục dùng chung (microsoft.com), khuyến nghị:

  1. net use * /del (hoặc bất cứ máy chủ nào).
  2. Xóa thông tin xác thực từ Trình quản lý thông tin xác thực.
  3. Khởi động lại dịch vụ Workstation.

Thủ tục này làm việc cho tôi. Không có gì đáng quan tâm trong Trình quản lý thông tin xác thực, vì tôi không lưu thông tin xác thực, tuy nhiên, khởi động lại dịch vụ Workstation sau khi xóa các kết nối netlà chìa khóa (tôi đã phải đóng tất cả các cửa sổ thám hiểm để dịch vụ khởi động lại).

Câu hỏi của tôi là: Điều này không thuận tiện chút nào, đặc biệt là khi tôi phải giải thích nó cho những người dùng ít hiểu biết về công nghệ. Mặc dù tôi chắc chắn có thể tạo ví dụ như một tập lệnh bó để tự động hóa toàn bộ, nhưng có một cách thực tế, phù hợp để thực hiện việc này không liên quan đến việc khởi động lại dịch vụ (và có thể không liên quan đến dòng lệnh, mặc dù cá nhân tôi không ' t tâm)?

Ngoài ra, một câu hỏi phụ: Điều kỳ lạ đối với tôi là phần lớn tài nguyên tôi tìm thấy về vấn đề này đã không đề xuất khởi động lại Workstation và quá trình sử dụng net usemột mình dường như hoạt động ít nhất đối với những người khác đã đăng nhận xét trên những bài viết. Là máy trạm khởi động lại là duy nhất đối với tôi và chỉ ra một số vấn đề khác trên máy của tôi, hay nó chỉ bị bỏ qua tất cả các hướng dẫn vì một số lý do? Chỉ có bài đăng hỗ trợ microsoft.com có ​​hướng dẫn khuyến nghị bước này, đó là những gì cuối cùng đã làm cho nó hoạt động với tôi.

Đăng xuất khỏi một chia sẻ có vẻ như đó là một trường hợp sử dụng đủ phổ biến để biện minh cho một số cách đơn giản để làm điều đó, vì vậy tôi cảm thấy khó khăn khi tôi gặp khó khăn trong việc tìm ra điều này.


Những thứ khác tôi đã thử mà không có hiệu quả:

  • Đóng tất cả các cửa sổ Explorer trước và sau khi sử dụng net usecác lệnh (như được đề xuất trong câu trả lời của Kody Browns ), cũng như đóng gói với cài đặt "quy trình riêng cho mỗi cửa sổ thư mục" với hy vọng đó là một loại bộ đệm thông tin xác thực theo quy trình (cũng được lấy cảm hứng từ câu trả lời đó) .
  • Thay đổi cài đặt quản lý kết nối nhóm nhà (được đề xuất bởi câu trả lời của holmzi_online tại bài đăng microsoft.com ở trên).
  • Giết tất cả các quy trình thám hiểm (bao gồm cả quy trình chính) và khởi động lại trình thám hiểm sau net use * /del(được đề xuất bởi Robert Greer tại đây , mặc dù vấn đề đó là với các ổ đĩa được ánh xạ).


1
@sttr Cảm ơn, nhưng tôi không chắc là tôi thấy mối liên hệ giữa bài viết này và bài viết đó. Bạn có thể cho một gợi ý?
Jason C

Gợi ý rằng chế độ ABE mỗi người dùng chỉ nhìn thấy các thư mục và tệp mà anh ta có quyền. Mặt khác, người dùng phải tự túc để truy cập tài nguyên và không cần nhập mật khẩu. Nếu "máy chủ" là Windows 7, thì hãy xem slickit.ca/2009/07/webdav-on-windows-7.html
STTR

1
@STTR Cảm ơn. Làm cách nào để ẩn các thư mục khỏi người dùng trái phép hoặc thiết lập máy chủ WebDAV giúp đăng xuất khỏi chia sẻ SMB được truy cập bằng cách nhập địa chỉ \?
Jason C

1
@STTR Câu hỏi là, như tiêu đề ngụ ý, làm thế nào để đăng xuất khỏi thư mục dùng chung (SMB, đó là những gì Windows sử dụng cho "thư mục dùng chung") mà không cần khởi động lại dịch vụ Workstation (xem thêm, "Tôi đã đăng nhập với tư cách một người dùng, không lưu thông tin xác thực và bây giờ muốn đăng xuất " ). Tôi không thêm WebDAV vào máy chủ của mình, tôi cũng không thể thêm dịch vụ WebDAV vào máy chủ mà tôi không kiểm soát được, tôi cũng không rõ cách giải quyết vấn đề đăng xuất thuận tiện. Bạn có biết làm thế nào để đăng xuất khỏi một thư mục chia sẻ?
Jason C

Câu trả lời:


1

2) Bạn không đơn độc trong vấn đề này. Hầu hết mọi người có thể không bao giờ trải nghiệm nó bởi vì họ chỉ có một người dùng và / hoặc nhiều người dùng nhưng tất cả đều có cùng một mật khẩu. Tôi dường như trải nghiệm tất cả các thời gian. Tôi cho rằng đó là vì tôi có cùng tên người dùng trên nhiều máy tính nhưng có mật khẩu khác nhau .. (Tôi không ở trong một miền; máy tính xách tay là Windows 8.1 với các máy chủ chạy Windows và Linux ..)

(từ bộ nhớ) Nếu tôi mở chia sẻ gốc của máy tính, chẳng hạn như \ raspi, trước khi truy cập vào một chia sẻ bị khóa như \ raspi \ private tôi sẽ gặp vấn đề đó. Có vẻ như một kết nối được tạo bằng cách sử dụng chia sẻ công khai / mở trước và sau đó nó được lưu trữ.

Đối với 1), tôi chỉ cần đóng các cửa sổ Explorer và (đôi khi nhắc lệnh) đã truy cập vào chia sẻ đó. Tôi chưa bao giờ phải khởi động lại dịch vụ máy trạm.

Nhưng nó có thể hoạt động với tôi vì tôi luôn bảo Windows "khởi chạy các cửa sổ thư mục trong một quy trình riêng biệt" ..

Chỉ là một suy nghĩ ..


Cảm ơn!! Tôi thực sự hy vọng đề xuất của bạn về việc đóng các cửa sổ thám hiểm sẽ là cách khắc phục đơn giản (tôi cũng có các quy trình riêng biệt cho mỗi cửa sổ thư mục), có thể là một số thông tin lưu trữ trên mỗi quy trình. Thật không may, điều đó đã không thực hiện được mánh khóe, cũng như không vô hiệu hóa các quy trình riêng biệt trên mỗi cửa sổ. Tôi cũng không thấy bất kỳ thay đổi nào trong hành vi nếu tôi cố truy cập \ 1.2.3.4 \ Chia sẻ trước thay vì root (cũng không có sự khác biệt trong việc truy cập theo tên máy chủ thay vì IP). Tôi cũng không ở trong một miền và sử dụng các máy chủ chạy Windows và Linux. Một cái gì đó đang lưu thông tin đăng nhập hoặc kết nối, nhưng tôi không biết gì.
Jason C

Một điểm dữ liệu khác: Bất kể cài đặt quy trình cho mỗi thư mục, việc giết tất cả các quy trình thám hiểm (bao gồm cả quy trình chính) và khởi động lại trình thám hiểm cũng không có tác dụng, điều đó làm tôi ngạc nhiên.
Jason C

Tôi chuẩn bị chơi xung quanh với môi trường của mình một chút để kiểm tra điều này nhiều hơn và có một suy nghĩ .. các cửa sổ của bạn (thám hiểm, dấu nhắc lệnh, v.v.) đều được nâng lên hoặc không, phải không? Tôi đã thất vọng nhiều lần khi tôi không nhận ra hoặc quên một trong những ứng dụng của mình bị nâng lên .. Đó là một số điều kỳ lạ đối với chia sẻ mạng ...
Kody Brown

Tài khoản tôi đang sử dụng là quản trị viên và mọi thứ đều được nâng lên. Tôi đã tạo một tài khoản không phải quản trị viên mới và thử nghiệm từ đó, hành vi không thay đổi.
Jason C

1

Tôi đã làm cho nó hoạt động bằng cách làm như sau:

  1. Chạy net use * /delete
  2. Xóa thông tin đăng nhập (ví dụ: của tôi là 172,26.190.129 và ngày tạo là ngày hôm nay, chỉ có vậy)
  3. Vô hiệu hóa "kết nối cục bộ" (Bảng điều khiển \ Mạng và Internet \ Kết nối mạng \ Kết nối cục bộ)
  4. Đợi một lát (tôi không hiểu tại sao nhưng tôi nghĩ nó có thể phá vỡ một số liên kết từ Win7 của tôi đến Ubuntu và có thể xóa một số bộ đệm)
  5. Kích hoạt "kết nối cục bộ" và nó đã hoạt động ..

2
Bạn có ý nghĩa gì khi "Xóa thông tin đăng nhập" và làm thế nào để bạn làm điều đó?
Calimo

"Xóa thông tin đăng nhập" hoàn toàn không rõ ràng ở đây.
Jonathan Wood

0

Đây có thể là một cú sút xa, nhưng bạn đã đợi đủ lâu sau khi sử dụng net use * /dchưa? Theo tôi biết, ngay cả sau khi xóa chia sẻ, Windows vẫn giữ phiên mở nếu có tay cầm mở (cửa sổ Explorer, v.v.). Và ngay cả sau khi đóng các tay cầm đó, có một khoảng thời gian chờ trong đó nó sẽ kết nối lại chia sẻ. Mặc định có vẻ là 10-15 phút. Bạn có thể rút ngắn điều này trong sổ đăng ký.

Xem https://bloss.msdn.microsoft.com/oldnewthing/20110223-00/?p=11413

Tuy nhiên, dường như "KeepConn" không còn được sử dụng trong các phiên bản Windows mới hơn. Xem "Hẹn giờ kết nối nhàn rỗi" trên trang này: http://bloss.msdn.com/b/openspecification/archive/2013/03/19/cifs-and-smb-timeouts-in-windows.aspx


0

Bắt đầu -> Bảng điều khiển -> Tài khoản người dùng và An toàn gia đình -> Tài khoản người dùng -> Quản lý thông tin đăng nhập của bạn.

Mở rộng một trong những "Thông tin Windows" của bạn, rồi bấm vào "Xóa khỏi kho tiền".

Bắt đầu -> Bảng điều khiển

Bảng điều khiển -> Tài khoản người dùng và An toàn gia đình

Tài khoản người dùng và An toàn gia đình -> Tài khoản người dùng

Tài khoản người dùng -> Quản lý thông tin đăng nhập của bạn

Đăng xuất

Đúng


-1
net use * /del
net stop Workstation /Y
cmdkey /delete:<resourcename>
net start Workstation
net start browser

Cách 2: sử dụng nhiều tên NetBIOS cho một máy tính:

reg add "HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters" /v OptionalNames /t REG_MULTI_SZ /d "NetBIOSName01\0 NetBIOSName02\0 NetBIOSName03\0"

Sau đó, bạn có thể kết nối tài nguyên của những người dùng khác nhau bằng các tên NetBIOS khác nhau.

net use L: \\NetBIOSName01 /user:<username01> <password01> /P:Yes
net use M: \\NetBIOSName02 /user:<username02> <password02> /P:Yes
net use N: \\NetBIOSName03 /user:<username03> <password03> /P:Yes

Chỉnh sửa %windir%\system32\drivers\etc\lmhostsvà thêm

<Server IP>  NetBIOSName01            #PRE
<Server IP>  NetBIOSName02            #PRE
<Server IP>  NetBIOSName03            #PRE
<Server IP>  <OriginalNetBIOSname>            #PRE

trong tất cả các máy trạm mạng

Tất cả người dùng sẽ kết nối với tài nguyên của nó.


Theo tiêu đề câu hỏi, điều này không trả lời câu hỏi.
Daniel B

Cảm ơn, nhưng điều này khởi động lại dịch vụ Workstation. Tôi đã đề cập đến vấn đề này trong câu hỏi, nhưng tôi đã biết rằng tôi có thể tự động hóa việc khởi động lại bằng một tập lệnh. Trên thực tế, tôi đã đăng gần như cùng một bộ lệnh tại superuser.com/a/883606/245945 . Những gì tôi thực sự tìm kiếm là chi tiết nơi tôi đã viết "câu hỏi" và "câu hỏi phụ" in đậm trong bài viết của mình.
Jason C

@JasonC Nguyên nhân ban đầu của tất cả các hành động này Lỗi hệ thống 1219?
STTR

@STTR Nguyên nhân ban đầu là mong muốn đăng xuất mà không cần khởi động lại dịch vụ. Kết quả của những nỗ lực của tôi được mô tả trong bài viết của tôi.
Jason C

@STTR Cảm ơn. Bản cập nhật rất thú vị và tôi đánh giá cao thời gian của bạn, nhưng tôi không rõ về kết nối. Tôi không cố gắng ánh xạ ổ đĩa hoặc đăng nhập với nhiều người dùng cùng một lúc. Tôi chỉ đơn giản là cố gắng đăng xuất khỏi một chia sẻ ban đầu được truy cập bằng cách truy cập trực tiếp vào địa chỉ \\. Thậm chí không nhất thiết phải chuyển đổi người dùng. Có lẽ tôi vừa rời khỏi máy tính và tôi không muốn để lại chia sẻ đăng nhập. Làm thế nào để đăng nhập khi nhiều người dùng qua nhiều ổ đĩa được chia sẻ sẽ giúp đăng xuất khỏi thư mục dùng chung mà không cần khởi động lại dịch vụ?
Jason C
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.