Problem
Po aktualizacjach Windows 11 użytkownicy zgłaszają:
- brak podglądu PDF, DOCX i XLSX na udziale sieciowym,
- komunikat „Plik może być szkodliwy”,
- blokowanie plików pobranych z internetu,
- podgląd działa lokalnie, ale nie na NAS-ie ani na udziale SMB.
To nie jest błąd, tylko zaostrzone zabezpieczenia Microsoftu — znacznik MOTW (Mark of the Web) i strefy zabezpieczeń.
Zanim to wdrożysz — o czym trzeba wiedzieć
Opisane niżej zmiany działają, ale mają cenę i warto ją znać przed wdrożeniem.
Znacznik MOTW jest sygnałem, po którym Windows i Office rozpoznają plik pochodzący z internetu. Wyłączenie zapisu strefy oraz hurtowe Unblock-File zdejmują widok chroniony w aplikacjach Office i ostrzeżenia SmartScreen dla wszystkich plików pobranych z sieci — nie tylko dla tych z firmowego udziału. Dokument z makrem przysłany mailem otworzy się wtedy bez ostrzeżenia, a to właśnie widok chroniony powstrzymuje najczęstszą drogę infekcji przez załączniki.
Dlatego:
- stosuj te ustawienia świadomie i tylko tam, gdzie realnie przeszkadzają w pracy,
- najbezpieczniejszy wariant to sam Krok 2 — dodanie serwera plików do strefy Intranet. Pliki z tego jednego, zaufanego udziału przestają być traktowane jak pobrane z internetu, a ochrona pozostałych plików zostaje nietknięta,
- polecenie
Unblock-Fileuruchamiaj na konkretnym udziale, a nie na całym profilu użytkownika czy dysku systemowym, - jeśli decydujesz się na Krok 1, zawęź obiekt GPO do grupy użytkowników, którzy tego potrzebują, zamiast nakładać go na całą domenę.
Poniżej kompletne rozwiązanie:
- GPO — wyłączenie zapisu strefy,
- dodanie serwera do strefy Intranet,
- czyszczenie starych plików PowerShellem,
- automatyzacja dla użytkowników.
Krok 1 — wyłączenie zapisu strefy (MOTW) przez GPO
Cel: nowe pliki nie dostają strumienia Zone.Identifier.
Ścieżka w GPO: Konfiguracja użytkownika → Preferencje → Ustawienia systemu Windows → Rejestr
Utwórz Nowy → Element rejestru:
| Ustawienie | Wartość / ścieżka |
|---|---|
| Akcja | Utwórz |
| Gałąź | HKEY_CURRENT_USER |
| Ścieżka klucza | Software\Microsoft\Windows\CurrentVersion\Policies\Attachments |
| Nazwa wartości | SaveZoneInformation |
| Typ | REG_DWORD |
| Dane | 1 |
To odpowiada polityce „Nie zachowuj informacji o strefie w załącznikach”.
Efekt: nowe pliki z internetu nie są blokowane, nie ma przycisku „Odblokuj”, podgląd działa.
Krok 2 — dodanie serwera do strefy Intranet (GPO)
Jeśli tego nie zrobisz, Windows nadal będzie traktował NAS jako Internet.
Ścieżka w GPO: Konfiguracja użytkownika → Zasady → Szablony administracyjne → Składniki systemu Windows → Internet Explorer → Panel sterowania Internetu → Strona zabezpieczeń → Lista przypisywania witryn do stref
Ustaw Włączone, kliknij Pokaż… i dodaj:
| Nazwa wartości (adres) | Dane (strefa) |
|---|---|
192.168.1.10 |
1 (1 = Intranet lokalny) |
Dodatkowo — bardzo ważne przy SMB
W tym samym miejscu ustaw Witryny intranetowe: uwzględniaj wszystkie ścieżki sieciowe (UNC) → Włączone.
Krok 3 — wymuszenie polityk
Na stacji roboczej uruchom:
gpupdate /force
Następnie wyloguj i zaloguj użytkownika.
Krok 4 — czyszczenie istniejących plików na udziale (PowerShell)
Nowe pliki będą już w porządku, ale stare nadal mają Zone.Identifier — trzeba je wyczyścić. Dla udziału \\192.168.1.10\wspolny uruchom PowerShell jako administrator:
Get-ChildItem "\\192.168.1.10\wspolny" -Recurse -Include *.pdf,*.docx,*.xlsx,*.pptx -File -Force -ErrorAction SilentlyContinue | Unblock-File -ErrorAction SilentlyContinue
Polecenie przejdzie cały udział, usunie Zone.Identifier i przywróci podgląd u wszystkich użytkowników. Uruchamiaj je wyłącznie na udziale, którego zawartości ufasz — zdejmuje ono ostrzeżenia również z plików, które ktoś pobrał z internetu i wgrał na dysk sieciowy.
Krok 5 — skrypt dla profilu użytkownika
Plik gdy_brak_podgladu.ps1:
$paths = @(
"$env:USERPROFILE\Downloads",
"$env:USERPROFILE\Desktop",
"$env:USERPROFILE\Documents"
)
foreach ($p in $paths) {
if (Test-Path $p) {
Get-ChildItem $p -Recurse -File -Force -ErrorAction SilentlyContinue |
Unblock-File -ErrorAction SilentlyContinue
}
}
Skrypt działa tylko w kontekście użytkownika, czyści jego lokalne katalogi i nie dotyka systemu.
Uwaga: ten wariant obejmuje też folder Pobrane, czyli dokładnie to miejsce, gdzie lądują pliki z internetu. Odblokowanie ich wszystkich przy każdym logowaniu usuwa ostrzeżenia także dla plików, których nikt nie weryfikował. Jeżeli problem dotyczy wyłącznie udziału sieciowego, rozważ ograniczenie listy $paths do tego udziału i pozostawienie folderu Pobrane w spokoju.
Krok 6 — uruchamianie skryptu automatycznie (Autostart przez GPO)
Chcemy, żeby skrypt wykonał się przy logowaniu, bez klikania, w kontekście użytkownika (nie SYSTEM).
1. Umieść plik CMD
| Element | Wartość |
|---|---|
| Lokalizacja | \\192.168.1.10\wspolny\IT\gpo\Napraw_podglad.cmd |
Zawartość pliku:
@echo off
powershell.exe -NoProfile -ExecutionPolicy Bypass -File "\\192.168.1.10\wspolny\IT\gpo\gdy_brak_podgladu.ps1"
2. GPO — kopiowanie do Autostartu
Ścieżka: Konfiguracja użytkownika → Preferencje → Ustawienia systemu Windows → Pliki. Wybierz Nowy → Plik i ustaw:
| Opcja | Ustawienie |
|---|---|
| Akcja | Utwórz |
| Plik źródłowy | \\192.168.1.10\wspolny\IT\gpo\Napraw_podglad.cmd |
| Plik docelowy | %APPDATA%\Microsoft\Windows\Start Menu\Programs\Startup\Napraw_podglad.cmd |
Wymuś zmiany poleceniem gpupdate /force, a następnie wyloguj i zaloguj użytkownika.
Efekt: skrypt uruchomi się przy logowaniu, wyczyści katalogi i zamknie się — użytkownik nic nie klika.
Krok 7 — weryfikacja
| Element | Wartość / działanie |
|---|---|
| Rejestr — polecenie | reg query HKCU\Software\Microsoft\Windows\CurrentVersion\Policies\Attachments /v SaveZoneInformation |
| Rejestr — oczekiwany wynik | REG_DWORD 0x1 |
| Strefy | Panel sterowania → Opcje internetowe → Zabezpieczenia → Intranet lokalny → Witryny. Serwer 192.168.1.10 musi być widoczny. |
| Test | Otwórz \\192.168.1.10\wspolny i kliknij plik PDF — nie ma komunikatu, podgląd działa. |