Jesteś obecnie w trybie offline. Czekamy na ponowne połączenie z Internetem.

Rozwiązywanie problemów z limitem połączenia przychodzącego bloku SMB (Server Message Block) w grupie roboczej peer-to-peer systemu Windows

Zakończono świadczenie pomocy technicznej dla systemu Windows XP

Firma Microsoft zakończyła świadczenie pomocy technicznej dla systemu Windows XP 8 kwietnia 2014. Ta zmiana wpłynęła na Twoje aktualizacje oprogramowania i opcje zabezpieczeń. Dowiedz się, co to oznacza dla Ciebie i jak zapewnić sobie kontynuację ochrony.

WAŻNE: Ten artykuł zawiera informacje na temat modyfikowania rejestru. Przed zmodyfikowaniem rejestru utwórz jego kopię zapasową i upewnij się, że wiesz jak przywrócić rejestr w przypadku pojawienia się problemu. Aby uzyskać informacje dotyczące wykonywania kopii zapasowej, przywracania i edytowania rejestru, kliknij następujący numer artykułu z bazy wiedzy Microsoft Knowledge Base:
256986 'Opis Rejestru systemu Microsoft Windows
Symptomy
W grupie roboczej peer-to-peer, przy próbie połączenia z zasobami sieciowymi komputera, na którym działa którykolwiek z produktów wymienionych na początku tego artykułu, mogą zostać wyświetlone następujące komunikaty o błędach:
Błąd systemu operacyjnego 71.

Do tego komputera zdalnego nie można obecnie uzyskać więcej połączeń, ponieważ istnieje już maksymalna akceptowalna liczba połączeń.
-lub-
Wystąpił błąd systemowy 71.

\\\Ten komputer zdalny osiągnął limit połączenia. W tej chwili nie można się połączyć.\\\
Przyczyna
Robocza stacja kliencka Windows mogła otworzyć połączenie potoku \PIPE\spoolss na serwerze wydruku lub stacji roboczej, do której jest podłączona udostępniona drukarka. Dzieje się tak zazwyczaj po uruchomieniu programu (np. Microsoft Word), który wysyła kwerendy do drukarek lub jeżeli zostanie otwarty folder Drukarki w Panelu sterowania. Bufor drukarki klienta i serwera otworzy uchwyt przypisany temu połączeniu.
Zdalne wywoływanie procedur (RPC, Remote Procedure Call) wymaga jednego nazwanego wystąpienia potoku dla każdego wywołania RPC (np. OpenPrinter). Jeżeli wywołanie OpenPrinter nie odpowiada, wywołanie RPC utrzymuje otwarte połączenie potoku. Wywołanie RPC nie rozłącza tego połączenia, dopóki nie zostanie zamknięty potok kontekstowy (tj. OpenPrinters).

Jeżeli oba poniższe warunki są spełnione, możesz otworzyć połączenie anonimowe (zwane także połączeniem sesji zerowej), które nigdy nie jest zamykane dla potoku nazwanego \PIPE\spoolss na stacji roboczej, która działa jako serwer w sieci peer to peer:
  • Klient połączył się z drukarką udostępnioną na komputerze, który jest serwerem wydruku.
  • Lokalna drukarka udostępniona została skonfigurowana na co najmniej jednym kliencie.
Rozwiązanie
Użyj jednej z poniższych metod, aby uniemożliwić nawiązywanie połączeń sesji zerowej ze stacją roboczą, która działa jako serwer wydruku. Preferowaną metodą jest metoda nr 1.

Metoda 1

Wyłącz połączenia sesji zerowej na komputerze z systemem Windows, który przekroczył limit połączeń przychodzących i pokazuje dodatkowe połączenia sesji zerowej przy użyciu graficznego interfejsu użytkownika zasad grupy lub poprzez ustawienie odpowiedniego klucza rejestru.

Korzystanie z graficznego interfejsu użytkownika zasad grup (przystawka Zasady zabezpieczeń lokalnych w konsoli MMC)

  1. Kliknij przycisk Start, wskaż polecenie Programy, wskaż polecenie Narzędzia administracyjne, a następnie kliknij polecenie Zasady zabezpieczeń lokalnych.

    UWAGA: Jeżeli nie można wykonać tej czynności, ponieważ na liście Program nie ma pozycji Narzędzia administracyjne, kliknij przycisk Start, wskaż polecenie Ustawienia, wskaż polecenie Panel sterowania, kliknij dwukrotnie ikonę Narzędzia administracyjne, a następnie kliknij skrót Zasady zabezpieczeń lokalnych.
  2. W węźle Ustawienia zabezpieczeń kliknij dwukrotnie pozycjęZasady lokalne, a następnie kliknij pozycję Opcje zabezpieczeń.
  3. Kliknij dwukrotnie zasadę Dodatkowe ograniczenia dla połączeń anonimowych, a następnie na liście Ustawianie zasad lokalnych kliknij opcję Brak dostępu bez wyraźnych zezwoleń anonimowych.
  4. Uruchom ponownie komputer.
Ta zasada uniemożliwia nawiązywanie połączeń sesji zerowej.

Korzystanie z Edytora rejestru

OSTRZEŻENIE: Niewłaściwe użytkowanie Edytora rejestru może spowodować poważne problemy, które mogą wymagać ponownego zainstalowania systemu operacyjnego. Firma Microsoft nie może zagwarantować, że użytkownik może samodzielnie rozwiązać problemy wynikające z niewłaściwego użytkowania Edytora rejestru. Użytkownik ponosi pełną odpowiedzialność za korzystanie z Edytora rejestru.

Aby uniemożliwić nawiązywanie połączeń sesji zerowej (lub wyłączyć dostęp do sesji zerowej):
  1. Uruchom program Edytor rejestru.
  2. Znajdź i kliknij następujący klucz rejestru:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\LSA
  3. W menu Edycja kliknij polecenie Dodaj wartość, a następnie dodaj następującą wartość rejestru:
    Nazwa wartości: RestrictAnonymous
    Typ danych: REG_DWORD
    Wartość: 2
    Wartość domyślna: 0
    Wartość 2 uniemożliwia nawiązywanie połączeń sesji zerowej.

    Aby ustawić wartość RestrictAnonymous, zmień klucz rejestru na 0 lub 1 w systemie Windows NT 4.0 lub na 0, 1 albo 2 w systemie Windows 2000. Te cyfry odpowiadają następującym ustawieniom:
    • 0 Brak. Polegaj na zezwoleniach domyślnych.
    • 1 Nie zezwalaj na wyliczanie udziałów i kont SAM.
    • 2 Brak dostępu bez wyraźnych zezwoleń anonimowych.
  4. Uruchom ponownie komputer.

Metoda 2

Użyj jednej z poniższych metod, aby uniemożliwić nawiązywanie połączeń sesji zerowej, które charakteryzują się wysokim współczynnikiem czasu bezczynności oraz otworzyły uchwyt do potoku nazwanego \PIPE\spoolss.

Usuwanie udziału drukarki na komputerach klienckich

Określ klientów, na których są uruchomione udziały drukarek lokalnych (aby uzyskać więcej informacji, zobacz sekcję „Więcej informacji”) i usuń wszystkie lokalne udziały drukarek na tych komputerach:
  1. Otwórz folder Drukarki, aby sprawdzić, czy drukarka lokalna jest udostępniona.
  2. Otwórz okno Właściwości drukarki udostępnionej, a następnie kliknij kartę Udostępnianie.
  3. Kliknij opcję Nieudostępniona.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "Informacje zawarte w tym artykule dotyczą".
Więcej informacji
Komputery z systemem Windows NT Workstation 4.0, Windows 2000 Professional i Windows XP Professional mają licencje na maksymalnie 10 jednoczesnych przychodzących sesji klienckich. Komputery z systemem Windows XP Home Edition mają licencję na maksymalnie 5 jednoczesnych przychodzących sesji klienckich. Wszystkie połączenia na poziomie dysku logicznego, drukarki logicznej i transportu z jednego komputera stanowią łącznie jedną sesję.

Jeżeli w ramach usługi serwera jest otwarta maksymalna liczba sesji i jeszcze jeden użytkownik spróbuje przydzielić zasób, komputer zwraca komunikaty o błędach opisane w sekcji „Symptomy” tego artykułu.

Zazwyczaj komputer nie ma wielu aktywnych sesji z innym komputerem. Istnieją jednak wyjątki. Na przykład na komputerze A działa usługa w kontekście innego użytkownika niż użytkownik zalogowany i ta usługa tworzy połączenie logiczne z komputerem B. Połączenie logiczne może wynikać z udziałów plików, drukarek, portów szeregowych, a także z komunikacji między komputerami przy użyciu potoków nazwanych i gniazd pocztowych.

Użyj poniższych poleceń, aby uzyskać informacje o sesjach i otwierać pliki oraz udostępnione zasoby.

Informacje dotyczące sesji aktywnych na komputerze, na którym działa usługa serwera

Aby uzyskać informacje dotyczące sesji aktywnych na komputerze, na którym działa usługa serwera, wpisz następujące polecenie:
net session
Określ liczbę otwartych sesji, aby sprawdzić, czy limit liczby otwartych sesji wynoszący 10 (lub 5 w przypadku systemu Windows XP Home Edition) został już osiągnięty. Zazwyczaj dla jednego klienta zdalnego istnieje tylko jedna sesja.

Jeżeli istnieje więcej niż jedna sesja z klienta zdalnego, wyświetl kontekst Nazwa użytkownika na kliencie zdalnym, na którym skonfigurowano więcej niż jedną sesję:
  • Wyświetl informacje o wszystkich działających usługach i sprawdź, czy dana usługa działa w kontekście użytkownika o nazwie wyświetlanej w tabeli sesji.
  • Wyszukaj zaplanowane zadania działające w skrypcie logowania i używające konta innego użytkownika niż użytkownik, który jest zalogowany.
  • Wyszukaj wiersze, gdzie kolumna Nazwa użytkownika jest pusta i sprawdź czas bezczynności.
Sesja z pustym kontekstem użytkownika jest sesją zerową.

Tymczasowe sesje zerowe są najczęściej inicjowane przez połączenia IPC$ jako pierwszy krok nawiązywania połączenia. Pozostają aktywne przez 30 do 90 sekund.

UWAGA: Aby rozłączyć sesje komputera klienckiego, użyj następującego polecenia:
net session /delete \\nazwa_komputera
To polecenie powoduje rozłączenie wszystkich sesji z tego komputera i zamknięcie wszystkich otwartych plików. Jego użycie może spowodować utratę danych w przypadku wymuszonego zamknięcia plików, które nie zostały zapisane.

Informacje o otwartych plikach

Aby uzyskać informacje dotyczące otwartych plików, na komputerze, na którym działa usługa serwera, wpisz następujące polecenie:
net files
Jeżeli w tabeli sesji są ciągle wyświetlane sesje użytkowników zerowych, określ plik lub potok używany przez użytkownika zerowego.

Informacje o tabeli połączeń NetBIOS

Aby zapoznać się z listą połączeń przychodzących oraz informacjami dotyczącymi ilości danych przesyłanych w ramach tych połączeń, wpisz polecenie:
nbtstat -s

Informacje o zasobach udostępnionych

Aby wyświetlić udziały plików, ukryte udziały administracyjne i drukarki udostępnione, wpisz następujące polecenie:
net share
Ustalenie przyczyn, dla których jeden klient nawiązuje połączenie przy użyciu więcej niż jednej sesji, może wymagać dodatkowych zabiegów.

Za pomocą Monitora sieci wyszukaj składnik inicjujący dodatkową sesję oraz informacje o tym, który kontekst zabezpieczeń jest używany podczas sesji SMB (Server Message Block). Aby odfiltrować ruch spowodowany przez buforowanie drukarki, użyj parsera R_WINSPOOL w Monitorze sieci. Jeżeli komputer z systemem Windows wyszukuje komputery działające jako serwer kolejki wydruku, używa transakcji NetShareEnum za pośrednictwem protokołu RemAPI (zwanego także zdalnym protokołem API Lanman systemu Microsoft Windows). Gdy używana jest transakcja NetShareEnum, do wykonania żądań NetServerEnum2 i NetServerEnum3 domyślnie potrzebny jest tylko dostęp anonimowy. Systemy operacyjne Windows mają domyślnie włączony dostęp anonimowy.

Aby uzyskać dodatkowe informacje, kliknij numer artykułu poniżej, aby wyświetlić artykuł z bazy wiedzy Microsoft Knowledge Base:
122920 Limit połączeń przychodzących w systemie Windows
132679 Local System Account and Null Sessions in Windows NT
143474 Restricting Information Available to Anonymous Logon Users
149522 System Error 71 and License Manager
154541 Clients Open Many \Pipe\Spoolss Connections to WinNT Print Server
156431 XFOR: Error 71 When Using NT Server from MSDN Select CD
179483 Error Msg: No More Connections Can Be Made At This Time
191611 Symptomy przeglądarek wieloadresowych
246261 Jak używać wartości Rejestru RestrictAnonymous w systemie Windows 2000
289655 JAK: Włączanie udziałów pustych sesji na komputerze z systemem Windows 2000
302099 Windows 2000 Clients Use Multiple Connections When Mapping Drives to a Single Server
314882 Ograniczenie liczby połączeń przychodzących w systemie Windows XP
Błąd 71, limit liczby użytkowników 10, połączenie, sesja zerowa, użytkownik zerowy, licencja, winspool:RpcGetPrinter RpcSetAllocFailCount, winspool opnum 0x45,
Właściwości

Identyfikator artykułu: 328459 — ostatni przegląd: 05/11/2006 05:22:34 — zmiana: 6.0

  • Microsoft Windows XP Home Edition
  • Microsoft Windows XP Professional Edition
  • Microsoft Windows 2000 Professional Edition
  • Microsoft Windows NT Workstation 4.0 Developer Edition
  • kbprb kbtshoot KB328459
Opinia