ค้นหาผู้ใช้ที่เชื่อมต่อกับเครือข่ายแชร์


18

บนเซิร์ฟเวอร์ windows 2008 ของฉันฉันมีเครือข่ายที่ใช้ร่วมกัน ฉันเข้าสู่เซิร์ฟเวอร์ด้วยสิทธิ์ของผู้ดูแลระบบเต็มรูปแบบ ฉันต้องการทราบว่าผู้ใช้รายใดมีการเชื่อมต่อที่ใช้งานร่วมกับการแบ่งปันนั้น

ฉันจะหาข้อมูลได้อย่างไร

คำตอบ:


24

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

วิธี Kinda-Sorta:เลือกเครื่องมือระบบ >> โฟลเดอร์ที่ใช้ร่วมกัน >> เปิดไฟล์เพื่อดูว่าไฟล์ใดบ้างที่เปิดอยู่บนเซิร์ฟเวอร์ไฟล์ จากที่นั่นคุณสามารถเชื่อมโยงบัญชีผู้ใช้ที่มีไฟล์เปิดอยู่กับการแชร์ที่เชื่อมต่ออยู่

อย่างไรก็ตามนั่นอาจไม่เพียงพอ ไม่เชื่อฉัน ไปที่การจัดการคอมพิวเตอร์และเลือกเครื่องมือระบบ >> โฟลเดอร์ที่ใช้ร่วมกัน >> เซสชันเพื่อดูว่าใครเชื่อมต่ออยู่ จากนั้นดูที่# open filesคอลัมน์ บางเซสชันควรมี 0 ไฟล์ที่เปิดอยู่ คุณจะรู้ได้อย่างไรว่าพวกเขาแบ่งปันสิ่งใดในทางเทคนิค ฉันดีใจที่คุณถาม ...

วิธีที่กว้างขวาง แต่ยากต่อการปรับขนาด:ดำเนินการnet share [sharename]กับคำถามที่แชร์ในแต่ละครั้งเพื่อรับรายชื่อผู้ใช้ที่เชื่อมต่ออยู่ ในการทดสอบของฉันแม้กระทั่งผู้ใช้ที่ไม่มีไฟล์เปิดอยู่ในรายการ

คุณยังสามารถใช้เครื่องมือการดูแลระบบ Share and Storage Manager ใน Server 2008 และอื่น ๆ แทนการจัดการคอมพิวเตอร์ ค้นหาการแชร์ในรายการการแชร์จากนั้นในบานหน้าต่างการกระทำเพื่อคลิกขวา "จัดการเซสชัน" คุณจะเห็นรายการของเซสชันรวมถึงรายการที่มีศูนย์เปิดไฟล์

แต่ ... แต่ ... ฉันต้องการค้นหาผู้ใช้เฉพาะโดยไม่ต้องสอบถามแต่ละการแชร์! หากคุณมีผู้ใช้เฉพาะที่คุณต้องการติดตามดูเหมือนว่าวิธีการเดียวในการค้นหาข้อมูลของคุณคือการสืบค้นแต่ละการแบ่งปันและใช้ลูกตาเพื่อค้นหาผู้ใช้ที่คุณต้องการ และโดยลูกตาฉันเอาท์พุทท่อหมายถึงหรือfindstr select-stringเราสามารถคาดการณ์เวิร์กโฟลว์ให้กับสคริปต์ที่ระบุการแชร์ที่มีอยู่ทั้งหมดการสอบถามสำหรับผู้ใช้ที่เชื่อมต่อและค้นหาผลลัพธ์สำหรับผู้ใช้ที่สงสัย แต่ดูเหมือนจะเป็นการออกกำลังกายสำหรับผู้อ่านไม่ใช่สิ่งที่ Microsoft ได้รวมไว้เป็นคุณลักษณะดั้งเดิม .


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

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

หรือจากบรรทัดคำสั่ง: NET SHARE <SHARENAME>
Simon Catlin

@SimonCatlin เพิ่งทดสอบสิ่งนี้กับเครื่อง Server 2008 ฉันมีผู้ใช้รายหนึ่งที่ไม่มีไฟล์เปิดอยู่ แต่ถูกระบุว่าเป็นเซสชันเปิด ฉันต้องค้นหาการแชร์แต่ละครั้งบนเซิร์ฟเวอร์ด้วยnet share sharenameแต่ในที่สุดก็พบว่าการแชร์นั้นเชื่อมต่อกับเซสชัน ฉันไม่ทราบว่าสามารถย้อนกลับการสืบค้นและเริ่มต้นด้วยผู้ใช้ที่คุณสนใจแล้วติดตามไปยังการแชร์ที่พวกเขามีการเชื่อมต่อ อาจต้องการ PowerShelling ที่กำหนดเอง
Wesley

4

นี่เป็นคำถามที่เก่ามาก แต่คำตอบที่ยอมรับข้ามไปหนึ่งในวิธีที่ดีที่สุดในการค้นหาข้อมูล GUI สามารถแสดงว่ามี "ไคลเอ็นต์ที่เชื่อมต่อ" แต่ไม่แสดงการเชื่อมต่อเหล่านั้นภายใต้ "ไฟล์ที่เปิด" ในกรณีนั้นจำเป็นต้องใช้ WMI เพื่อค้นหาผู้ที่เชื่อมต่อกับการแบ่งปัน

ต่อไปนี้เป็นคำสั่ง powershell เพื่อดูว่าใครเชื่อมต่อกับส่วนแบ่งเฉพาะและเอาต์พุตตัวอย่าง:

Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}

ตัวอย่างผลลัพธ์:

ShareName        UserName        ComputerName
---------        --------        ------------
SHARENAME        user1           10.0.0.20
SHARENAME        user2           10.0.0.30
SHARENAME        user3           10.0.0.40

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

0

ตัวจัดการคอมพิวเตอร์ไม่ได้เข้าถึงแบบเดียวกับในรุ่นก่อนหน้า คุณจะได้รับ "ตัวจัดการเซิร์ฟเวอร์" เมื่อคุณคลิกขวาที่คอมพิวเตอร์และเลือก "จัดการ" ดังนั้นแทนที่จะเป็นเพียงพิมพ์ใน compmgmt.msc ในฟิลด์ "ค้นหาโปรแกรมและไฟล์" ใต้เริ่มต้น


-3

ฉันไม่คิดว่าคำตอบที่ให้ไว้ตอบคำถามจริง หากคุณใช้ Windows Server 2008 (ไม่ใช่ R2) และคุณคลิกขวาที่คอมพิวเตอร์และเลือกจัดการจากนั้นยืนยันข้อความ UAC เซิร์ฟเวอร์ MMC Manager จะเปิดใช้งาน ภายใต้ตัวจัดการเซิร์ฟเวอร์มีรายการต่อไปนี้: บทบาทคุณลักษณะการวินิจฉัยการกำหนดค่าและการเก็บข้อมูล ดูเหมือนว่าไม่มีรายการใดในห้ารายการเหล่านี้ที่จะมีการเชื่อมต่อชื่อที่ใช้ร่วมกันซึ่งเป็นคำถามเดิมที่ถาม การแก้ไข EDIT สำหรับคำตอบนั้นมีประโยชน์มากกว่าโดยกล่าวถึงตัวจัดการการแชร์และที่เก็บข้อมูล แต่ก็ดูเหมือนจะไม่ได้ให้คำตอบ มันมีรายการที่ครอบคลุมของชื่อที่ใช้ร่วมกันและคุณสมบัติ แต่การเชื่อมต่อที่ใช้งานไม่แสดงขึ้นที่นี่อย่างใดอย่างหนึ่ง ด้วย Windows Server 2003 เคยเป็นยูทิลิตี้ระบบปฏิบัติการซึ่งแสดงเซิร์ฟเวอร์แชร์และการเชื่อมต่อ แต่ฉันยังไม่พบใน WS2008 มียูทิลิตี้ของบุคคลที่สามที่ฉันใช้ในการใช้ชื่อว่า Hyena จาก Adkins Resource ซึ่งฉันเชื่อว่ายังมีการทำตลาดซึ่งทำหน้าที่ได้ยอดเยี่ยมในการแสดงข้อมูลทุกอย่างเกี่ยวกับสภาพของเซิร์ฟเวอร์


2
คุณแค่ผิดธรรมดา ฉันเพิ่งเปิดตัว 2008 R2 VM เมื่อคุณเปิดการจัดการคอมพิวเตอร์(compmgmt.msc)และทุกสิ่งที่เวสลีย์อธิบายอยู่ตรงนั้นก็เหมือนกับปี 2003 รวมถึงไฟล์ที่เปิดและเซสชันที่ใช้งานอยู่ ดูภาพหน้าจอนี้หากคุณไม่เชื่อฉัน
MDMarra

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