Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa

Darmowa diagnoza laptopa

Dojazd do klienta bezpłatnie

Dojazd do klienta bezpłatnie

Laptopy zastępcze bezpłatnie

Laptopy zastępcze bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Remove-SmbShare nie usuwa udziału

Termin Definicja
Remove-SmbShare nie usuwa udziału

Remove-SmbShare nieusuwające udziału wskazuje na aktywne połączenia klientów blokujące usunięcie zasobu sieciowego.

Co oznacza problem z Remove-SmbShare

Remove-SmbShare jest poleceniem PowerShell służącym do usuwania udziału SMB udostępnionego przez system Windows. Udział SMB jest nazwą i konfiguracją, pod którą klienci uzyskują dostęp do określonego zasobu przez sieć. Usunięcie udziału usuwa tę sieciową publikację, ale nie kasuje katalogu, plików ani woluminu wskazywanego przez udział. Po prawidłowym wykonaniu operacji ścieżka lokalna nadal może istnieć, lecz połączenie z użyciem nazwy udziału przestaje być dostępne.

Komunikat sugerujący, że Remove-SmbShare nie usuwa udziału, nie zawsze oznacza jeden konkretny błąd. Przyczyną może być aktywna sesja klienta, otwarte uchwyty plików, brak uprawnień administracyjnych, wykonanie polecenia na niewłaściwym komputerze albo próba usunięcia udziału o innej nazwie niż podana w komendzie. W środowisku zarządzanym zdalnie znaczenie ma również to, czy polecenie zostało uruchomione w odpowiedniej sesji PowerShell i z właściwym parametrem -CimSession.

Aktywne sesje SMB i otwarte pliki

Udział może być nadal używany przez klientów. Program uruchomiony na innym komputerze może mieć otwarty plik, katalog lub uchwyt do zasobu, nawet jeśli użytkownik nie wykonuje w danej chwili żadnej widocznej operacji. Połączenie może pozostawać aktywne także po zamknięciu okna Eksploratora plików, ponieważ aplikacja, usługa systemowa albo zadanie automatyczne nadal korzysta z zasobu. Dlatego przed usunięciem udziału warto ustalić, kto jest połączony i jakie pliki pozostają otwarte.

Do sprawdzenia sesji SMB służy Get-SmbSession, a do wyszukania otwartych plików używa się Get-SmbOpenFile. Oba polecenia powinny być wykonane na komputerze, który faktycznie udostępnia zasób. Przykładowo: Get-SmbSession | Format-Table ClientComputerName,ClientUserName,NumOpens,SessionId pokazuje podstawowe informacje o sesjach, natomiast Get-SmbOpenFile | Format-Table ClientComputerName,ClientUserName,Path,SessionId pomaga powiązać klienta z otwartym plikiem. W razie potrzeby sesję lub uchwyt można zamknąć odpowiednio poleceniami Close-SmbSession albo Close-SmbOpenFile, ale jest to operacja przerywająca pracę klienta i może spowodować utratę niezapisanych danych.

Weryfikacja nazwy, komputera i uprawnień

Najpierw należy potwierdzić, że udział rzeczywiście istnieje pod podaną nazwą. Służy do tego Get-SmbShare, na przykład Get-SmbShare | Select-Object Name,Path,Description. Wartość parametru -Name odnosi się do nazwy udziału widocznej w konfiguracji SMB, a nie do nazwy katalogu lokalnego. Jeżeli katalog C:\Dane jest udostępniony jako Wspolne, poprawne polecenie odnosi się do -Name "Wspolne", a nie do -Name "C:\Dane". Należy również uwzględnić dokładną pisownię nazwy, zwłaszcza gdy skrypt pobiera ją ze zmiennej albo pliku konfiguracyjnego.

Przykładowa operacja może wyglądać tak: Remove-SmbShare -Name "Wspolne" -Force. Parametr -Force pomija interaktywne potwierdzenie, ale nie naprawia błędnej nazwy, braku uprawnień ani problemu z połączeniem do innego hosta. Jeżeli udział znajduje się na zdalnym komputerze, polecenie bez dodatkowej sesji wykonane lokalnie dotyczy komputera lokalnego. W takim przypadku należy użyć sesji CIM, na przykład $s = New-CimSession -ComputerName "NAZWA-KOMPUTERA", a następnie Remove-SmbShare -Name "Wspolne" -CimSession $s -Force. Wymagane są odpowiednie uprawnienia do zarządzania udziałami na komputerze docelowym.

Bezpieczna kolejność czynności serwisowych

Praktyczne postępowanie powinno rozpocząć się od zapisania pełnego komunikatu błędu oraz sprawdzenia, czy polecenie jest wykonywane na właściwym systemie Windows. Następnie należy odczytać listę udziałów przez Get-SmbShare, sprawdzić sesje za pomocą Get-SmbSession i zweryfikować otwarte pliki poleceniem Get-SmbOpenFile. Jeżeli udział jest używany, użytkowników i aplikacje korzystające z zasobu należy najpierw powiadomić. Zamknięcie sesji lub uchwytów powinno nastąpić dopiero po ocenie ryzyka przerwania zapisu.

Po usunięciu udziału można ponownie wykonać Get-SmbShare -Name "Wspolne". Brak wyniku dla tej nazwy potwierdza usunięcie konfiguracji udziału, ale nie świadczy o skasowaniu danych z dysku. Jeżeli udział nadal jest widoczny, trzeba sprawdzić, czy polecenie nie zostało wykonane na innym komputerze, czy nie działa skrypt odtwarzający udział oraz czy nazwa nie została pobrana z nieaktualnego źródła. Warszawskie Pogotowie Komputerowe wykonuje profesjonalną naprawę laptopów, komputerów PC i ich podzespołów, w tym diagnostykę problemów z konfiguracją systemu Windows w zakresie związanym z działaniem komputera.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę