การยกเลิกการเชื่อมต่อ / ออกจากระบบเครือข่าย Windows โดยไม่ต้องเริ่มบริการเวิร์กสเตชัน


14

ฉันมีไฟล์เซิร์ฟเวอร์ที่ทำงานอยู่ (SMB) ที่ฉันเชื่อมต่อกับใน Explorer (Windows 7 Professional) โดยไปที่ \\ 1.2.3.4 โดยตรง ฉันเข้าสู่ระบบในฐานะผู้ใช้รายหนึ่งโดยไม่ต้องบันทึกข้อมูลรับรองและตอนนี้ต้องการออกจากระบบ (จริง ๆ แล้วฉันต้องการเปลี่ยนเป็นผู้ใช้รายอื่น แต่ความสามารถในการออกจากระบบโดยทั่วไปจะมีประโยชน์)

ฉันได้ค้นหาวิธีการทำสิ่งนี้และพบข้อมูลมากมายที่แนะนำให้ใช้รูปแบบบางอย่างnet use \\1.2.3.4 /del:

อย่างไรก็ตามสิ่งเหล่านี้ดูเหมือนจะไม่เหมาะกับฉันเลย ฉันเรียกใช้net use * /delจากนั้นใช้net useเพื่อตรวจสอบว่ารายการนั้นว่างเปล่าและยังมีการแบ่งปันอย่างลึกลับใน explorer, ไม่ได้รับผลกระทบ, เข้าถึงได้และยังคงใช้การเข้าสู่ระบบก่อนหน้า

อีกสิ่งหนึ่งที่ฉันลองซึ่งล้มเหลวก็คือทำเช่นnet use \\1.2.3.4 /user:newusernameเพื่อสลับข้อมูลรับรอง อย่างไรก็ตามแม้ว่าจะnet useแสดงรายการการเชื่อมต่อที่ว่างเปล่าแต่สิ่งนี้ยังก่อให้เกิดข้อผิดพลาดที่ระบุว่าไม่อนุญาตให้มีการเชื่อมต่อหลาย ๆ ครั้งไปยังทรัพยากรเดียวกันกับผู้ใช้ที่แตกต่างกัน - ทำไมมีการเชื่อมต่อที่ไม่ปรากฏขึ้นในnet useรายการ

ฉันพบบทความนี้แล้ววิธีออกจากโฟลเดอร์ที่ใช้ร่วมกัน (microsoft.com) ซึ่งแนะนำ:

  1. net use * /del (หรือเซิร์ฟเวอร์อะไรก็ได้)
  2. ล้างข้อมูลรับรองจาก Credential Manager
  3. เริ่มบริการเวิร์กสเตชันใหม่

ขั้นตอนนี้ใช้ได้สำหรับฉัน ไม่มีอะไรน่าสนใจใน Credential Manager เนื่องจากฉันไม่ได้บันทึกข้อมูลรับรองอย่างไรก็ตามการรีสตาร์ทบริการเวิร์กสเตชันหลังจากล้างการเชื่อมต่อด้วยnetเป็นกุญแจสำคัญ (ฉันไม่ต้องปิดหน้าต่าง explorer ทั้งหมดเพื่อรับบริการเพื่อเริ่มต้นใหม่)

คำถามของฉันคือ:มันไม่สะดวกเลยโดยเฉพาะเมื่อฉันต้องอธิบายให้ผู้ใช้ที่เข้าใจเทคโนโลยีน้อยลง ในขณะที่ฉันสามารถสร้างเช่นสคริปต์แบทช์เพื่อทำให้สิ่งทั้งหมดเป็นไปโดยอัตโนมัติมีวิธีที่เหมาะสมเหมาะสมและสอดคล้องกันในการทำสิ่งนี้โดยไม่เกี่ยวข้องกับการเริ่มบริการใหม่ (และอาจไม่เกี่ยวข้องกับบรรทัดคำสั่ง ไม่เป็นไร)

คำถามย่อย:เป็นเรื่องแปลกสำหรับฉันที่ทรัพยากรส่วนใหญ่ที่ฉันพบในเรื่องนี้ไม่แนะนำให้รีสตาร์ทเวิร์กสเตชันและกระบวนการแนะนำการใช้งานnet useเพียงอย่างเดียวดูเหมือนว่าจะทำงานอย่างน้อยสำหรับคนอื่น ๆ ที่โพสต์ความคิดเห็นบน โพสต์เหล่านั้น เวิร์กสเตชันรีสตาร์ทเป็นเอกลักษณ์สำหรับฉันและบ่งบอกถึงปัญหาอื่น ๆ ในเครื่องของฉันหรือว่าเป็นเพราะคำแนะนำทั้งหมดไม่ครบ มีเพียงโพสต์สนับสนุน microsoft.com เท่านั้นที่มีคำแนะนำที่แนะนำขั้นตอนนี้ซึ่งเป็นสิ่งที่ทำให้ฉันทำงานได้ในที่สุด

การลงชื่อออกจากการแชร์ดูเหมือนว่าจะเป็นกรณีการใช้งานทั่วไปพอที่จะพิสูจน์วิธีการง่ายๆในการทำดังนั้นฉันรู้สึกงงงวยว่ามันยากแค่ไหนที่ฉันจะเข้าใจเรื่องนี้


สิ่งอื่น ๆ ที่ฉันพยายามโดยไม่มีผลกระทบ:

  • การปิดหน้าต่าง Explorer ทั้งหมดก่อนและหลังการใช้net useคำสั่ง (ตามที่แนะนำในคำตอบของ Kody Browns ) เช่นเดียวกับการตั้งค่า "กระบวนการแยกต่างหากต่อหน้าต่างโฟลเดอร์" โดยหวังว่าจะเป็นการแคชหนังสือรับรองต่อกระบวนการบางประเภท (เช่นกัน .
  • การเปลี่ยนการตั้งค่าการจัดการการเชื่อมต่อโฮมกรุ๊ป (แนะนำโดยคำตอบของholmzi_onlineที่โพสต์ microsoft.com ข้างต้น)
  • ฆ่ากระบวนการสำรวจทั้งหมด (รวมถึงกระบวนการหลัก) และเริ่มการทำงานของ explorer ใหม่อีกครั้งnet use * /del(แนะนำโดยRobert Greer ที่นี่ถึงแม้ว่าปัญหานั้นเกิดจากการแมปไดรฟ์)


1
@sttr ขอบคุณ แต่ฉันไม่แน่ใจว่าฉันเห็นการเชื่อมต่อระหว่างสิ่งนี้กับบทความนั้น คุณสามารถให้คำใบ้?
Jason C

แนะนำโหมด ABE ที่ผู้ใช้แต่ละคนเห็นเฉพาะโฟลเดอร์และไฟล์ที่เขามีสิทธิ์ มิฉะนั้นผู้ใช้จะต้องพอเพียงเพื่อเข้าถึงทรัพยากรและไม่จำเป็นต้องป้อนรหัสผ่าน หาก "เซิร์ฟเวอร์" เป็น Windows 7 ให้ดูที่slickit.ca/2009/07/webdav-on-windows-7.html
STTR

1
@STTR ขอบคุณ การซ่อนโฟลเดอร์จากผู้ใช้ที่ไม่ได้รับอนุญาตหรือการตั้งค่าเซิร์ฟเวอร์ WebDAV ช่วยให้ออกจากการแชร์ SMB ที่เข้าถึงได้โดยพิมพ์ \\ address ได้อย่างไร
Jason C

1
@STTR คำถามคือตามชื่อหมายถึงวิธีการออกจากโฟลเดอร์ที่ใช้ร่วมกัน (SMB ซึ่งเป็นสิ่งที่ Windows ใช้สำหรับ "โฟลเดอร์ที่ใช้ร่วมกัน") โดยไม่ต้องเริ่มบริการเวิร์กสเตชัน (ดูอีกครั้ง"ฉันเข้าสู่ระบบในฐานะผู้ใช้คนหนึ่ง โดยไม่ต้องบันทึกข้อมูลรับรองและตอนนี้ต้องการออกจากระบบ " ) ฉันไม่ได้เพิ่ม WebDAV ไปยังเซิร์ฟเวอร์ของฉันและฉันไม่สามารถเพิ่มบริการ WebDAV ไปยังเซิร์ฟเวอร์ที่ฉันไม่สามารถควบคุมได้และฉันก็ไม่ทราบชัดเจนว่าจะแก้ไขปัญหาในการออกจากระบบได้อย่างไร คุณรู้วิธีออกจากระบบโฟลเดอร์ที่ใช้ร่วมกันหรือไม่?
Jason C

คำตอบ:


1

2) คุณไม่ได้โดดเดี่ยวในปัญหานี้ คนส่วนใหญ่อาจไม่เคยสัมผัสกับมันเพราะพวกเขามีผู้ใช้เพียงคนเดียวและ / หรือผู้ใช้หลายคน แต่ทั้งหมดด้วยรหัสผ่านเดียวกัน ฉันดูเหมือนจะได้สัมผัสกับมันตลอดเวลา ฉันสมมติว่าเป็นเพราะฉันมีชื่อผู้ใช้เหมือนกันในคอมพิวเตอร์หลายเครื่อง แต่มีรหัสผ่านที่แตกต่างกัน .. (ฉันไม่ได้อยู่ในโดเมน; แล็ปท็อปเป็น Windows 8.1 พร้อม Windows และ Linux บนเซิร์ฟเวอร์ .. )

(จากหน่วยความจำ) หากฉันเปิดการแชร์รูทของคอมพิวเตอร์เช่น \ raspi ก่อนที่จะเข้าถึงการแชร์ที่ล็อคไว้เช่น \ raspi \ private ฉันจะมีปัญหานั้น ดูเหมือนว่าการเชื่อมต่อจะทำโดยใช้การแชร์สาธารณะ / เปิดก่อนจากนั้นจะได้รับการจัดเก็บ

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

แต่มันอาจใช้งานได้สำหรับฉันเพราะฉันมักจะบอกให้ Windows "เปิดโฟลเดอร์ windows ในกระบวนการแยกต่างหาก" ..

แค่คิด ..


ขอบคุณ !! ฉันหวังว่าคำแนะนำของคุณเกี่ยวกับการปิดหน้าต่าง explorer จะเป็นการแก้ไขแบบง่าย ๆ (ฉันยังมีกระบวนการแยกต่างหากต่อหน้าต่างโฟลเดอร์) บางทีอาจมีข้อมูลประจำตัวที่แคชต่อกระบวนการ น่าเสียดายที่นั่นไม่ได้ทำเคล็ดลับและไม่ได้ปิดใช้งานกระบวนการแยกกันต่อหน้าต่าง ฉันยังไม่เห็นการเปลี่ยนแปลงใด ๆ ในพฤติกรรมถ้าฉันพยายามเข้าถึง\\ 1.2.3.4 \ Shareก่อนแทนที่จะเป็นรูท (เช่นกันไม่มีความแตกต่างในการเข้าถึงด้วยชื่อโฮสต์มากกว่า IP) ฉันยังไม่ได้อยู่ในโดเมนและใช้เซิร์ฟเวอร์ที่ใช้ Windows และ Linux มีบางอย่างกำลังบันทึกข้อมูลรับรองหรือการเชื่อมต่อ แต่ฉันไม่รู้อะไรเลย
Jason C

จุดข้อมูลอื่น: ไม่ว่าจะมีการตั้งค่าแบบใดต่อหนึ่งโฟลเดอร์การฆ่ากระบวนการสำรวจทั้งหมด (รวมถึงกระบวนการหลัก) และการเริ่มการทำงานของ explorer ก็ไม่มีผลเช่นกันซึ่งทำให้ฉันประหลาดใจ
Jason C

ฉันกำลังจะเล่นกับสภาพแวดล้อมของฉันเล็กน้อยเพื่อทดสอบสิ่งนี้มากขึ้นและมีความคิด .. windows ของคุณ (explorer, command prompt, ฯลฯ ) ทั้งหมดเป็นแบบยกระดับหรือไม่ทั้งหมดใช่ไหม? ฉันหงุดหงิดหลายต่อหลายครั้งเมื่อฉันไม่รู้หรือลืมว่าแอพหนึ่งของฉันได้รับการยกระดับ .. มันทำสิ่งแปลก ๆ เพื่อแบ่งปันเครือข่าย ...
Kody Brown

บัญชีที่ฉันใช้อยู่นั้นเป็นผู้ดูแลระบบและทุกอย่างก็สูงขึ้น ฉันสร้างบัญชีที่ไม่ใช่ผู้ดูแลระบบใหม่และทดสอบจากที่นั่นพฤติกรรมไม่เปลี่ยนแปลง
Jason C

1

ฉันได้รับมันทำงานโดยทำต่อไปนี้:

  1. วิ่ง net use * /delete
  2. ล้างข้อมูลรับรอง (เช่นของฉันคือ 172.26.190.129 และวันที่สร้างเป็นวันนี้เพียงแค่)
  3. ปิดการใช้งาน "การเชื่อมต่อท้องถิ่น" (Control Panel \ Networking และ Internet \ Net Connect \ Local Connect)
  4. เดี๋ยวก่อน (ฉันทำไม่ได้ แต่ฉันคิดว่ามันอาจทำให้ลิงก์บางอย่างจาก Win7 ของฉันไปยัง Ubuntu และอาจล้างแคชบางส่วน)
  5. เปิดใช้งาน "การเชื่อมต่อท้องถิ่น" และใช้งานได้ ..

2
"ล้างข้อมูลรับรอง" หมายความว่าอย่างไรและคุณทำเช่นนั้นอย่างไร
Calimo

"ล้างข้อมูลรับรอง" ไม่ชัดเจนเลย
Jonathan Wood

0

อาจเป็นช็อตยาว แต่คุณรอนานพอหลังจากใช้net use * /dไหม เท่าที่ฉันรู้แม้หลังจากลบการแชร์ Windows ยังคงเปิดเซสชันหากมีการจัดการเปิด (หน้าต่าง Explorer ฯลฯ ) และแม้หลังจากปิดหมายเลขอ้างอิงเหล่านั้นแล้วก็ยังมีระยะเวลาการหมดเวลาที่จะเชื่อมต่อการแชร์อีกครั้ง ดูเหมือนว่าค่าเริ่มต้นจะเป็น 10-15 นาที คุณสามารถย่อให้สั้นลงในรีจิสทรี

ดู https://blogs.msdn.microsoft.com/oldnewthing/20110223-00/?p=11413

อย่างไรก็ตามดูเหมือนว่า "KeepConn" จะไม่ถูกใช้ใน Windows รุ่นที่ใหม่กว่าอีกต่อไป ดู "ตัวจับเวลาการเชื่อมต่อที่ไม่ใช้งาน" ในหน้านี้: http://blogs.msdn.com/b/openspecification/archive/2013/03/19/cifs-and-smb-timeouts-in-windows.aspx


0

เริ่ม -> แผงควบคุม -> บัญชีผู้ใช้และความปลอดภัยของครอบครัว -> บัญชีผู้ใช้ -> จัดการข้อมูลประจำตัวของคุณ

ขยาย "Windows Credentials" ของคุณจากนั้นคลิกที่ "Remove from vault"

เริ่ม -> แผงควบคุม

แผงควบคุม -> บัญชีผู้ใช้และความปลอดภัยของครอบครัว

บัญชีผู้ใช้และความปลอดภัยของครอบครัว -> บัญชีผู้ใช้

บัญชีผู้ใช้ -> จัดการข้อมูลรับรองของคุณ

ออกจากระบบ

ใช่


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

วิธีที่ 2: ใช้ชื่อ NetBIOS หลายชื่อสำหรับคอมพิวเตอร์หนึ่งเครื่อง:

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

จากนั้นคุณสามารถเชื่อมต่อทรัพยากรของผู้ใช้ที่ต่างกันโดยใช้ชื่อ NetBIOS ที่แตกต่างกัน

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

แก้ไข%windir%\system32\drivers\etc\lmhostsและเพิ่ม

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

ในทุกเวิร์กสเตชันเครือข่าย

ผู้ใช้ทั้งหมดจะเชื่อมต่อกับทรัพยากร


ตามชื่อคำถามสิ่งนี้จะไม่ตอบคำถาม
Daniel B

ขอบคุณ แต่นี่เป็นการเริ่มบริการเวิร์กสเตชันใหม่ ฉันพูดถึงสิ่งนี้ในคำถาม แต่ฉันรู้อยู่แล้วว่าฉันสามารถรีสตาร์ทอัตโนมัติด้วยสคริปต์ อันที่จริงผมโพสต์ประมาณชุดคำสั่งเดียวกันในsuperuser.com/a/883606/245945 สิ่งที่ฉันกำลังมองหาจริงๆคือรายละเอียดที่ฉันเขียน "คำถาม" และ "คำถามย่อย" เป็นตัวหนาในโพสต์ของฉัน
Jason C

@JasonC สาเหตุดั้งเดิมของการกระทำเหล่านี้ข้อผิดพลาดของระบบ 1219?
STTR

@STTR สาเหตุดั้งเดิมคือต้องการออกจากระบบโดยไม่ต้องเริ่มบริการใหม่ ผลลัพธ์ของความพยายามของฉันอธิบายไว้ในโพสต์ของฉัน
Jason C

@STTR ขอบคุณ การอัปเดตนั้นน่าสนใจและฉันซาบซึ้งกับเวลาของคุณ แต่ฉันไม่ชัดเจนเกี่ยวกับการเชื่อมต่อ ฉันไม่พยายามแมปไดรฟ์หรือลงชื่อเข้าใช้กับผู้ใช้หลายคนพร้อมกัน ฉันเพียงแค่พยายามออกจากระบบของการเข้าถึงที่แชร์โดยไปที่ \\ ที่อยู่โดยตรง ไม่จำเป็นต้องเปลี่ยนผู้ใช้ด้วยซ้ำ บางทีฉันแค่ก้าวออกจากคอมพิวเตอร์และฉันไม่ต้องการออกจากการใช้งานร่วมกันการเข้าสู่ระบบในฐานะผู้ใช้หลายคนผ่านหลายไดรฟ์ที่ใช้ร่วมกันจะช่วยให้ออกจากระบบโฟลเดอร์ที่ใช้ร่วมกันโดยไม่ต้องเริ่มบริการใหม่
Jason C
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.