Datoteke EXE ne delujejo, če jih zaženete iz omrežnih map v operacijskem sistemu Windows 10 1803

Uporabniki so se začeli pritoževati, da je po posodobitvi na sistem Windows 10 1803 (aprilska posodobitev) na njihovih računalnikih prišlo do težave z zagonom aplikacij, katerih izvršljive datoteke exe se nahajajo v omrežnih mapah na datotečnem strežniku Windows in ločenem pomnilniku NAS.

Težava se kaže na različne načine. Nekatere omrežne aplikacije se preprosto ne zaženejo iz mrežnih map (Aplikacija se ni mogla pravilno zagnati napak (0xc00000ba). z vzpostavitvijo kakršnih koli omrežnih povezav z drugimi strežniki. Zlasti povezava z oddaljenim strežnikom SQL ne deluje tako prek ODBC kot ADO SQL povezave, odjemalec se tudi ne poveže z bazo podatkov v Oracleu.

Med vzpostavitvijo povezave s strežnikom SQL je prišlo do napake, povezane z omrežjem ali primerom. Strežnika ni bilo mogoče najti ali ni bil dostopen. Preverite, ali je ime primerka pravilno in da je SQL Server konfiguriran tako, da omogoča oddaljene povezave. (ponudnik: omrežni vmesniki SQL, napaka: 26 - napaka pri iskanju strežnika / naveden primerek).

Težava je opaziti tako pri zagonu datotek EXE iz mrežnih map na poti UNC (\\ msk-server \ share1 \ app.exe) kot pri zagonu datotek iz mrežnih map, nameščenih na disku s pomočjo NET USE.

Hkrati se isti programi v omrežnih mapah v sistemih Windows 10 1709 in Windows Server 2016 začnejo normalno. Ti programi delujejo tudi v sistemu Windows 10 1803, če izvršljivo datoteko kopirate iz omrežnega imenika na lokalni pogon. Če iz računalnika odstranite Windows 10 1803, težava tudi izgine.

Zdi se, da Windows 10 1803 blokira dostop do omrežja do programov, ki tečejo iz omrežnih map, medtem ko se sami programi zrušijo, ko poskušate odpreti omrežno vtičnico. Težava je deloma podobna težavi onemogočanja nezanesljivih prijav gostov v sistemu Windows 10 1709, vendar ta rešitev ni pomagala.

Eden od uporabnikov je našel naslednji način: če v lastnostih datoteke exe nastavite način združljivosti z Windows 8, potem omrežni programi začnejo delovati!

Vendar pa je kot trajna rešitev za njegovo uporabo napačno. Želel bi najti vzrok težave.

V postopku diagnosticiranja težave se je izkazalo, da so bile v vseh primerih naprave, ki podpirajo protokol za dostop do datotek, uporabljene kot omrežna mapa SMB v1 (na uporabniških delovnih postajah v operacijskem sistemu Windows 10 je bila omogočena komponenta za dostop do omrežnih map s protokolom SMB 1.0 - odjemalec SMB 1.0 / CIFS je omogočen).

V primeru, da izvršljive datoteke premaknete v sistem Windows Server 2012 R2 / 2016, na katerem je protokol SMB 1 onemogočen, se izvršljive datoteke začnejo pravilno izvajati!

I.e. Iz varnostnih razlogov posodobitev sistema Windows 10 1803 ne dovoljuje programov, ki se izvajajo iz omrežnih map, ki so dostopne samo prek protokola SMBv1, da odpirajo omrežne povezave. Kot omrežne mape morate uporabljati naprave, ki podpirajo SMBv2 ali SMBv3.

Opomba. Spomnimo se, da ko odjemalec in strežnik komunicirata prek protokola SMB, je za interakcijo izbrana največja različica protokola, ki jo hkrati podpirata tako odjemalec kot strežnik (glejte članek Različice protokola SMB v operacijskem sistemu Windows). S pomočjo ukaza PowerShell lahko določite različico SMB, s katero se vaš odjemalec poveže z datotečnim strežnikom Get-smb povezava.

Preverite, ali je na vašem strežniku SMBv2 ali SMBv3 z ukazom omogočeno:

Get-SmbServerConfiguration | Izberite EnableSMB2Protocol

Če je SMBv2 onemogočen, ga lahko omogočite:

Set-SmbServerConfiguration -EnableSMB2Protocol $ true

Kot se je izkazalo, NAS, ki se uporablja za shranjevanje, podpira tudi deljenje datotek samo prek protokola SMBv1, zato ga ni mogoče uporabljati za zagon programov na delovnih postajah, nadgrajenih na Windows 10 1803.

Če uporabljate Windows Server 2003 kot datotečni strežnik, je v tej različici podprta samo različica SMBv1. Zato tega OS ne morete uporabljati kot datotečni strežnik, ko do njega dostopate iz sistema Windows 10 1803 in novejših.

Če uporabljate Linux s Sambo kot datotečni strežnik, če želite onemogočiti SMB1, potrebujete konfiguracijsko datoteko smb.conf v oddelku [globalno] dodaj vrstico min protokol = SMB2 in znova zaženite sambo.