Korisnici su se počeli žaliti da je nakon ažuriranja na sustav Windows 10 1803 (April Update) na njihovim računalima došlo do problema s pokretanjem aplikacija čije se izvršne datoteke exe nalaze u mrežnim mapama na Windows datotečnom poslužitelju i zasebnoj NAS pohrani.
Problem se očituje na različite načine. Neki mrežni programi jednostavno ne pokreću mrežne mape (Aplikacija nije mogla pokrenuti ispravno pogreške (0xc00000ba). Iznimka je bačena na 0x00007FFA2B86624E, 0xC0000005: Pristup kršenju za čitanje kršenja 0x0000000000000000), dok se drugi pokreću normalno, ali sva funkcionalnost vezana uz njih ne radi uspostavljanjem bilo kakvih mrežnih veza s drugim poslužiteljima. Konkretno, veza s udaljenim SQL poslužiteljem ne radi i putem ODBC i ADO SQL veze, a ni klijent se ne povezuje s bazom podataka na Oracleu.
Došlo je do pogreške povezane s mrežom ili primjerkom tijekom uspostavljanja veze na SQL Server. Poslužitelj nije pronađen ili nije bio dostupan. Provjerite je li naziv instancije točan i je li SQL Server konfiguriran za omogućavanje udaljenih veza. (pružatelj: SQL mrežna sučelja, pogreška: 26 - Pogreška u pronalaženju poslužitelja / određena instanca).Problem se opaža kako kod pokretanja datoteka EXE iz mrežnih mapa na UNC putu (\\ msk-server \ share1 \ app.exe), tako i kod pokretanja datoteka iz mrežnih mapa montiranih na disk pomoću NET USE.
U isto vrijeme isti se programi u mrežnim mapama u sustavu Windows 10 1709 i Windows Server 2016 pokreću normalno. Također, ovi programi rade u sustavu Windows 10 1803 ako kopirate izvršnu datoteku iz mrežnog imenika na lokalni pogon. Ako uklonite Windows 10 1803 s računala, problem također nestaje.
Čini se da Windows 10 1803 blokira mrežni pristup programima koji pokreću mrežne mape, dok se sami programi ruše prilikom pokušaja otvaranja mrežne utičnice. Problem je dijelom sličan problemu onemogućavanja nesigurnih prijava gosta u sustavu Windows 10 1709, no ovo rješenje nije pomoglo.
Jedan od korisnika našao je slijedeće rješenje: ako postavite način kompatibilnosti s Windowsom 8 u svojstvima exe datoteke, mrežni programi počinju raditi!
Međutim, kao trajno rješenje za korištenje je pogrešno. Htio bih pronaći uzrok problema.
U procesu dijagnosticiranja problema pokazalo se da su se u svim slučajevima uređaji koji podržavaju protokol pristupa datotekama koristili kao mrežna mapa SMB v1 (na korisničkim radnim stanicama u sustavu Windows 10, omogućena je komponenta za pristup mrežnim mapama putem SMB 1.0 protokola - omogućen je SMB 1.0 / CIFS klijent).
U slučaju da premjestite izvršne datoteke na Windows Server 2012 R2 / 2016, na kojem je SMB 1 protokol onemogućen, izvršne datoteke počinju ispravno raditi.!
tj Iz sigurnosnih razloga Windows 10 ažuriranja 1803 ne dopušta programima koji se pokreću iz mrežnih mapa koji su dostupni samo putem SMBv1 protokola za otvaranje mrežnih veza. Morate koristiti uređaje koji podržavaju SMBv2 ili SMBv3 kao mrežne mape.
primjedba. Podsjetimo da kada klijent i poslužitelj komuniciraju preko SMB protokola, za interakciju se bira maksimalna inačica protokola, koju istovremeno podržavaju i klijent i poslužitelj (pogledajte članak Verzije SMB protokola u sustavu Windows). Verziju SMB-a s kojom se vaš klijent povezuje na datotečni poslužitelj možete odrediti pomoću naredbe PowerShellGet-SmbConnection
.Provjerite jesu li na vašem poslužitelju omogućeni SMBv2 ili SMBv3 pomoću naredbe:
Get-SmbServerConfiguration | Odaberite OmogućiSMB2Protocol
Ako je SMBv2 onemogućen, možete ga omogućiti:
Set-SmbServerConfiguration -EnableSMB2Protocol $ true
Kako se pokazalo, NAS koji se koristi za pohranu također podržava dijeljenje datoteka samo putem SMBv1 protokola, tako da se ne može koristiti za pokretanje programa na radnim stanicama nadograđenim na Windows 10 1803.
Ako kao poslužitelj datoteka koristite Windows Server 2003, tada je u ovoj verziji podržana samo SMBv1 verzija. Prema tome, ovaj OS ne možete koristiti kao datotečni poslužitelj kada mu pristupate sa Windows 10 1803 i novije verzije.
Također, ako koristite Linux sa Sambom kao datotečni poslužitelj, da biste onemogućili SMB1, trebate u konfiguracijskoj datoteci smb.conf
u odjeljku [Global]
dodaj liniju min protokol = SMB2
i ponovno pokrenite sambu.