Na moim serwerze z systemem Windows 2008 mam udział sieciowy. Jestem zalogowany na serwerze z pełnymi prawami administratora. Chciałbym wiedzieć, którzy użytkownicy mają aktywne połączenia z tym udziałem.
Jak znaleźć te informacje?
Na moim serwerze z systemem Windows 2008 mam udział sieciowy. Jestem zalogowany na serwerze z pełnymi prawami administratora. Chciałbym wiedzieć, którzy użytkownicy mają aktywne połączenia z tym udziałem.
Jak znaleźć te informacje?
Odpowiedzi:
Są na to dwa sposoby, które wiem, jeśli. Jeden jest niewiarygodny, ale prawdopodobnie wystarczający dla większości scenariuszy. Jeden jest obszerny, ale trudny do wdrożenia w dowolnej skali, która przekracza garść połączeń użytkowników.
Kinda-Sorta Way: Wybierz Narzędzia systemowe >> Foldery współdzielone >> Otwórz pliki, aby zobaczyć, jakie pliki są otwarte na serwerze plików. Stamtąd możesz skorelować konta użytkowników, które mają otwarte pliki, z udziałami, z którymi są połączone.
Może to jednak być niewystarczające. Nie wierzysz mi? Przejdź do Zarządzania komputerem i wybierz Narzędzia systemowe >> Foldery współdzielone >> Sesje, aby zobaczyć, kto jest połączony. Następnie spójrz na # open files
kolumnę. Niektóre sesje powinny mieć 0 otwartych plików. Skąd wiesz, z jakim udziałem są technicznie związane? Cieszę się, że zapytałeś ...
Rozbudowany, ale trudny do skalowania sposób: wykonaj net share [sharename]
każdy udział, o którym mowa, aby uzyskać listę podłączonych do niego użytkowników. W moich testach wymieniono nawet użytkowników, którzy nie mają otwartych plików.
Możesz także użyć narzędzia administracyjnego Menedżer udziałów i magazynów w Server 2008 i późniejszych zamiast Zarządzania komputerem. Znajdź udział na liście udziałów, a następnie w okienku akcji kliknij prawym przyciskiem myszy „Zarządzaj sesjami”. Zobaczysz listę sesji, w tym te, które mają zero otwartych plików.
Ale ... ale ... Chcę znaleźć konkretnego użytkownika bez sprawdzania każdego udziału! Jeśli masz określonego użytkownika, którego chcesz wyśledzić, wydaje się, że jedynym sposobem na znalezienie tej informacji jest zapytanie każdego udziału i sprawdzenie go, aby znaleźć odpowiedniego użytkownika. I przez gałkę oczną mam na myśli wyjście rurowe do findstr
lub select-string
. Można ekstrapolować przepływ pracy na skrypt, który wylicza wszystkie dostępne udziały, zapytania dla podłączonych użytkowników i przeszukuje dane wyjściowe dla danego użytkownika, ale wydaje się, że jest to ćwiczenie dla czytelnika, a nie coś, co Microsoft zawarł jako funkcję natywną .
net share sharename
ale w końcu znalazłem udział, z którym sesja była połączona. Nie wiem, czy można odwrócić zapytanie i rozpocząć od interesującego użytkownika, a następnie śledzić go do udziału, z którym ma połączenie. Może potrzebować niestandardowego PowerShelling.
To bardzo stare pytanie, ale zaakceptowana odpowiedź pominęła jeden z najlepszych sposobów na znalezienie informacji. GUI może pokazywać, że istnieją „połączeni klienci”, ale nie pokazuje tych połączeń w „otwartych plikach”. W takim przypadku wymaga użycia WMI do ustalenia, kto jest podłączony do udziału.
Oto polecenie powershell, aby zobaczyć, kto jest podłączony do określonego udziału i przykładowe dane wyjściowe:
Get-WmiObject Win32_ServerConnection -ComputerName SERVER01 | Select-Object ShareName,UserName,ComputerName | Where-Object {$_.ShareName -eq "SHARENAME"}
Przykładowe dane wyjściowe:
ShareName UserName ComputerName
--------- -------- ------------
SHARENAME user1 10.0.0.20
SHARENAME user2 10.0.0.30
SHARENAME user3 10.0.0.40
Nie sądzę, aby udzielone odpowiedzi faktycznie odpowiadały na pytanie. Jeśli używasz systemu Windows Server 2008 (NIE R2) i klikniesz prawym przyciskiem myszy Komputer i wybierz Zarządzaj, a następnie potwierdzisz komunikat UAC, uruchamia się MMC Server Manager. W Menedżerze serwera znajdują się następujące elementy: Role, Funkcje, Diagnostyka, Konfiguracja i Pamięć. Wydaje się, że żaden z tych pięciu elementów nie ma dostępnych opcji udostępniania nazw jako opcji, co było pierwotnym pytaniem. Dodatek EDIT do odpowiedzi był bardziej przydatny, wspominając o menedżerze udziałów i magazynu, ale nadal nie wydaje się, aby udzielał odpowiedzi. Zawiera wyczerpującą listę nazw udziałów i właściwości, ale aktywne połączenia również się tutaj nie wyświetlają. W systemie Windows Server 2003 istniało narzędzie systemu operacyjnego, które wyświetlało serwery, udziały i połączenia, ale jeszcze go nie znalazłem na WS2008. Było narzędzie innej firmy, którego używałem, o nazwie Hiena z Adkins Resource, które, jak sądzę, wciąż jest sprzedawane, co doskonale spisało się, wyświetlając wszelkiego rodzaju informacje na temat praktycznie każdego aspektu stanu serwera.
(compmgmt.msc)
i wszystko, co opisuje Wesley, jest dokładnie tak samo jak w 2003 roku, w tym otwarte pliki i aktywne sesje. Zobacz ten zrzut ekranu, jeśli mi nie wierzysz.