EXE файловете не работят, когато се стартират от мрежови папки в Windows 10 1803

Потребителите започнаха да се оплакват, че след обновяване до Windows 10 1803 (април актуализация) на техните компютри имаше проблем със стартирането на приложения, чиито изпълними exe файлове са разположени в мрежови папки на файловия сървър на Windows и отделно хранилище на NAS.

Проблемът се проявява по различни начини. Някои мрежови приложения просто не стартират от мрежови папки (Приложението не можа да стартира правилно грешки (0xc00000ba), Изключение, хвърлено на 0x00007FFA2B86624E, 0xC0000005: Местоположение за четене с нарушение на достъп 0x0000000000000000), докато други стартират нормално, но цялата функционалност, свързана с тях, не работи с установяване на всякакви мрежови връзки с други сървъри. По-специално, връзката към отдалечения SQL сървър не работи както чрез ODBC, така и ADO SQL връзка, клиентът също не се свързва с базата данни в Oracle.

Възникна грешка, свързана с мрежата или специфична за отделни случаи, при установяване на връзка със SQL Server. Сървърът не е намерен или не е достъпен. Проверете дали името на екземпляра е правилно и SQL Server е конфигуриран да позволява отдалечени връзки. (доставчик: Мрежови интерфейси на SQL, грешка: 26 - Грешка при намиране на сървър / указан инстанция).

Проблемът се наблюдава както при стартиране на EXE файлове от мрежови папки по пътя на UNC (\\ msk-сървър \ share1 \ app.exe), така и при стартиране на файлове от мрежови папки, монтирани на диск с помощта на NET USE.

В същото време едни и същи програми в мрежовите папки в Windows 10 1709 и Windows Server 2016 стартират нормално. Също така тези програми работят в Windows 10 1803, ако копирате изпълнимия файл от мрежовата директория на локално устройство. Ако премахнете Windows 10 1803 от вашия компютър, проблемът също изчезва.

Изглежда, че Windows 10 1803 блокира мрежовия достъп до програми, работещи от мрежови папки, докато самите програми се сриват при опит за отваряне на мрежов сокет. Проблемът е отчасти подобен на проблема с деактивирането на несигурни вход за гости в Windows 10 1709, но това решение не помогна.

Един от потребителите намери следното решение: ако зададете режим на съвместимост с Windows 8 в свойствата на EXE файла, тогава мрежовите програми започват да работят!

Въпреки това, като постоянно решение за използването му е погрешно. Бих искал да намеря причината за проблема.

В процеса на диагностициране на проблема се оказа, че във всички случаи устройства, които поддържат протокола за достъп до файлове, се използват като мрежова папка SMB v1 (на потребителските работни станции в Windows 10, компонент за достъп до мрежови папки чрез SMB 1.0 протокол - SMB 1.0 / CIFS клиент е активиран).

В случай, че преместите изпълними файлове в Windows Server 2012 R2 / 2016, на който SMB 1 протоколът е деактивиран, изпълнимите файлове започват да се изпълняват правилно!

Т.е. От съображения за сигурност актуализация на Windows 10 1803 не позволява на програми, работещи от мрежови папки, които са достъпни само чрез протокола SMBv1 за отваряне на мрежови връзки. Трябва да използвате устройства, които поддържат SMBv2 или SMBv3 като мрежови папки.

забележка. Спомнете си, че когато клиентът и сървърът взаимодействат над SMB протокола, за взаимодействие се избира максималната версия на протокола, която се поддържа едновременно и от клиента, и от сървъра (вижте статията Версии на SMB протокола в Windows). Можете да определите версията на SMB, с която вашият клиент се свързва с файловия сървър, използвайки командата PowerShell Get-SmbConnection.

Проверете дали SMBv2 или SMBv3 са активирани на вашия сървър с помощта на командата:

Get-SmbServerConfiguration | Изберете EnableSMB2Protocol

Ако SMBv2 е деактивиран, можете да го активирате:

Set-SmbServerConfiguration -EnableSMB2Protocol $ true

Както се оказа, NAS, използван от съхранението, също поддържа споделяне на файлове само чрез протокола SMBv1, така че не може да се използва за стартиране на програми на работни станции, надстроени до Windows 10 1803.

Ако използвате Windows Server 2003 като файлов сървър, в тази версия се поддържа само версията SMBv1. Съответно не можете да използвате тази ОС като файлов сървър, когато имате достъп до нея от Windows 10 1803 и по-нова версия.

Освен това, ако използвате Linux със Samba като файлов сървър, за да деактивирате SMB1, трябва в конфигурационния файл smb.conf в раздел [Global] добавете ред мин протокол = SMB2 и рестартирайте samba.