Tìm người dùng được kết nối với chia sẻ mạng


18

Trên máy chủ windows 2008 của tôi, tôi có một chia sẻ mạng. Tôi đăng nhập vào máy chủ với quyền quản trị viên đầy đủ. Tôi muốn biết những gì người dùng có kết nối hoạt động để chia sẻ đó.

Làm thế nào để tôi tìm thấy thông tin đó?

Câu trả lời:


24

Có hai cách để đi về điều này mà tôi biết nếu. Một là không đáng tin cậy, nhưng có lẽ đủ tốt cho hầu hết các kịch bản. Một là rộng rãi, nhưng khó thực hiện ở bất kỳ quy mô nào vượt quá một số kết nối người dùng.

Cách Kinda-Sorta: Chọn Công cụ hệ thống >> Thư mục dùng chung >> Mở tệp để xem tệp nào đang mở trên máy chủ tệp. Từ đó bạn có thể tương quan các tài khoản người dùng có tệp đang mở với các chia sẻ mà chúng được kết nối.

Tuy nhiên, điều đó có thể không đủ. Đừng tin tôi? Đi vào Quản lý máy tính và chọn Công cụ hệ thống >> Thư mục được chia sẻ >> Phiên để xem ai được kết nối. Sau đó nhìn vào # open filescột. Một số phiên nên có 0 tệp đang mở. Làm thế nào để bạn biết những gì họ chia sẻ kỹ thuật được kết nối với? Tôi rất vui vì bạn đã hỏi ...

Cách mở rộng nhưng khó mở rộng: Thực hiện net share [sharename]trên mỗi chia sẻ trong câu hỏi để có danh sách người dùng được kết nối với nó. Trong thử nghiệm của tôi, ngay cả những người dùng không có tệp mở được liệt kê.

Bạn cũng có thể sử dụng công cụ quản trị Share and Storage Manager trong Server 2008 và hơn thế nữa thay vì Quản lý máy tính. Tìm chia sẻ trong danh sách chia sẻ, sau đó trong ngăn hành động để nhấp chuột phải vào "Quản lý phiên". Bạn sẽ thấy một danh sách các phiên bao gồm những phiên không có tệp đang mở.

Nhưng ... nhưng ... tôi muốn tìm một người dùng cụ thể mà không cần truy vấn từng chia sẻ! Nếu bạn có một người dùng cụ thể mà bạn muốn theo dõi, có vẻ như phương tiện duy nhất của bạn để tìm thông tin đó là truy vấn từng chia sẻ và nhãn cầu để tìm người dùng bạn muốn. Và bởi nhãn cầu tôi có nghĩa là đầu ra đường ống đến findstrhoặc select-string. Người ta có thể ngoại suy luồng công việc thành tập lệnh liệt kê tất cả các chia sẻ có sẵn, truy vấn cho người dùng được kết nối và tìm kiếm đầu ra cho người dùng đang nghi vấn, nhưng dường như đó là một bài tập cho người đọc và không phải là thứ mà Microsoft đã đưa vào như một tính năng gốc .


Thông tin được cung cấp không đủ trong phiên hoặc chia sẻ. Nó không hiển thị cụ thể những người dùng nào được kết nối với những gì chia sẻ. Tôi thường thấy nhiều kết nối đến chia sẻ mạng, nhưng nếu người dùng không mở tệp hơn tôi không thể biết ai được kết nối. Tôi chỉ có thể nói rằng có một số lượng kết nối nhất định mở. Không ai có kết nối mở. Vì vậy, Rick chỉ đơn giản là chính xác trong trường hợp này.

Tôi thấy tình huống cụ thể có thể tồn tại, nơi người dùng có phiên mở, nhưng không có tệp mở, do đó bạn không chắc chắn họ chia sẻ cụ thể về phiên nào. Trong kịch bản đó, tôi không biết cách kết nối các phiên 0 tệp với chia sẻ mà chúng được kết nối.
Wesley

Hoặc, từ một dòng lệnh: NET SHARE <SHARENAME>
Simon Catlin

@SimonCatlin Chỉ cần thử nghiệm điều này trên máy chủ 2008. Tôi đã có một người dùng không có tệp đang mở nhưng được liệt kê dưới dạng phiên mở. Tôi đã phải truy vấn từng cổ phần trên máy chủ net share sharenamenhưng cuối cùng cũng tìm thấy phần chia sẻ mà phiên được kết nối. Tôi không biết liệu người ta có thể đảo ngược truy vấn và bắt đầu với người dùng mà bạn quan tâm hay không và sau đó theo dõi nó để chia sẻ họ có kết nối. Có thể cần một số PowerShelling tùy chỉnh.
Wesley

4

Đây là một câu hỏi rất cũ, nhưng câu trả lời được chấp nhận đã bỏ qua một trong những cách tốt nhất để tìm thông tin. GUI có thể hiển thị có "máy khách được kết nối" nhưng không hiển thị các kết nối đó trong "tệp đang mở". Trong trường hợp đó, nó yêu cầu sử dụng WMI để tìm ai được kết nối với chia sẻ.

Đây là lệnh powershell để xem ai được kết nối với một đầu ra ví dụ và chia sẻ cụ thể:

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

Ví dụ đầu ra:

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

Mad kudos Tôi đã có hai cổ phiếu với các tên khác nhau cho cùng một đường dẫn cục bộ và đây là điều duy nhất cho phép tôi thu hẹp người dùng và PC bằng một trong hai cổ phiếu mà tôi muốn thoát khỏi :)
gregg

0

Trình quản lý máy tính không được truy cập giống như trong các phiên bản trước. Bạn nhận được "Trình quản lý máy chủ" khi nhấp chuột phải vào Máy tính và chọn "quản lý". Vì vậy, thay vì đó, chỉ cần nhập compmgmt.msc vào trường "chương trình tìm kiếm và tệp" đang bắt đầu.


-3

Tôi không nghĩ rằng (các) câu trả lời được cung cấp thực sự trả lời câu hỏi. Nếu bạn đang sử dụng Windows Server 2008 (KHÔNG R2) và bạn bấm chuột phải vào Máy tính và chọn Quản lý, sau đó xác nhận thông báo UAC, Trình quản lý máy chủ MMC sẽ khởi chạy. Trong Trình quản lý máy chủ là các mục sau: Vai trò, Tính năng, Chẩn đoán, Cấu hình và Lưu trữ. Không ai trong số năm mục này dường như có sẵn các kết nối tên chia sẻ dưới dạng tùy chọn, đó là những gì câu hỏi ban đầu được hỏi. Bổ sung EDIT cho câu trả lời hữu ích hơn, đề cập đến Trình quản lý chia sẻ và lưu trữ, nhưng dường như vẫn không cung cấp câu trả lời. Nó cung cấp một danh sách đầy đủ các tên và thuộc tính chia sẻ, nhưng các kết nối hoạt động cũng không hiển thị ở đây. Với Windows Server 2003, đã từng có một tiện ích HĐH hiển thị các máy chủ, chia sẻ và kết nối, nhưng tôi chưa tìm thấy nó trên WS2008. Có một tiện ích bên thứ ba mà tôi từng sử dụng có tên Hyena từ Adkins Resource, mà tôi tin rằng vẫn đang được bán trên thị trường, công việc tuyệt vời là hiển thị tất cả các cách thông tin về hầu hết mọi khía cạnh của tình trạng máy chủ.


2
Bạn chỉ đơn giản là sai. Tôi vừa kích hoạt máy ảo 2008 R2. Khi bạn mở Quản lý máy tính (compmgmt.msc)và mọi thứ mà Wesley mô tả đều ở ngay đó, giống như năm 2003, bao gồm các tệp đang mở và các phiên hoạt động. Xem ảnh chụp màn hình này nếu bạn không tin tôi.
MDMarra

@Rick Bạn nói đúng, câu trả lời của tôi không hoàn toàn chính xác. Hai năm sau, và khi một thành viên khác gọi tôi ra ngoài, tôi đã thực hiện lại câu trả lời của mình để làm cho đúng. Cảm ơn đã giữ cho tôi sắc nét. =)
Wesley
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.