Windows 10/11: risolvere la condivisione file unidirezionale (SMB, Microsoft Account, iPhone «rpc struct is bad»)

La condivisione file tra Windows 10 e Windows 11 funziona solo in una direzione? Segui questa guida pratica per sbloccare l’accesso SMB, sistemare permessi e credenziali e risolvere anche l’errore «rpc struct is bad» su iPhone, senza compromettere la sicurezza della rete domestica.

Indice

Scenario e sintomi

  • Scenario: PC A (Windows 11) riesce a leggere le cartelle condivise di PC B, ma PC B non può accedere alle cartelle di PC A.
  • Sintomi tipici: alla connessione appare un prompt credenziali che rifiuta la password del Microsoft Account, oppure non appare alcun prompt e l’accesso fallisce. Da iPhone, tramite l’app File con SMB, compare l’errore «rpc struct is bad».
  • Contesto: i due PC usano lo stesso Microsoft Account e non esistono utenti locali dedicati.

Perché succede davvero

Quando la condivisione funziona a senso unico, quasi sempre il problema è sul lato del “server” (in questo caso PC A): profilo di rete errato, servizi di individuazione non attivi, regole del firewall disabilitate, share creato ma con permessi NTFS incoerenti, credenziali memorizzate in conflitto o sessioni SMB già aperte con l’utente sbagliato. A volte è “solo” risoluzione nomi (NetBIOS/LLMNR) o un antivirus di terze parti che blocca la porta 445. Se accedi da iPhone, un disallineamento dei permessi o del metodo di autenticazione può generare l’errore «rpc struct is bad».

Soluzione in dieci passi

PassoAzionePerché serve
1Imposta il profilo di rete su Privata (Impostazioni → Rete & Internet).La condivisione è limitata sui profili “Pubblico”.
2Attiva Individuazione rete e Condivisione file e stampanti (Pannello di controllo → Centro connessioni → Impostazioni di condivisione avanzate).Rende visibili PC e cartelle.
3Condividi la cartella (Proprietà → Scheda Condivisione → Condividi → seleziona utente → imposta permessi).Crea lo share e definisce ACL di base.
4Controlla i permessi NTFS (Scheda Sicurezza): l’utente/gruppo deve avere Lettura o Controllo Totale secondo necessità.Senza NTFS coerente lo share fallisce comunque.
5In Gestione credenziali elimina voci obsolete; se necessario disattiva Condivisione protetta da password oppure crea un utente locale uguale su entrambi i PC.Evita errori di autenticazione SMB.
6Apri le regole firewall Condivisione file e stampanti (SMB-In).Il firewall può bloccare le porte 445/139.
7Collega tramite percorso diretto \<IP_PC-A>\Cartella per bypassare i nomi NetBIOS.Test rapido di raggiungibilità SMB.
8Verifica che i servizi Function Discovery Provider Host, Function Discovery Resource Publication, Server e Workstation siano Automatici e in esecuzione.Necessari per annunci e accesso SMB.
9Riavvia il PC se vedi “Current Account Locked”; installa gli ultimi aggiornamenti Windows.Sblocca token o bug temporanei.
10Ulteriori check: disattiva antivirus di terze parti, disattiva SMB 1.0 e verifica SMB 2/3; esegui sfc /scannow/chkdsk se sospetti corruzione.Elimina interferenze software e vecchi protocolli.

Procedura dettagliata passo‑passo

Passo 1 — Profilo di rete Privata. In Windows 11: Impostazioni → Rete & Internet → Wi‑Fi/Ethernet → Proprietà → Profilo di rete → Privata. In Windows 10: Impostazioni → Rete & Internet → Stato → Proprietà della connessione → Rete privata. Solo nel profilo Privata il firewall consente per impostazione predefinita la condivisione.

Passo 2 — Individuazione rete e Condivisione file. Apri il Pannello di controllo → Rete e InternetCentro connessioni di rete e condivisioneModifica impostazioni di condivisione avanzate. Nel profilo Privato seleziona:

  • Attiva individuazione rete
  • Attiva la configurazione automatica dei dispositivi connessi alla rete
  • Attiva condivisione file e stampanti

Nella sezione Tutte le reti puoi (opzionale) consentire la condivisione delle cartelle pubbliche. Mantieni “Connessioni di condivisione file a 128 bit”.

Passo 3 — Creare lo share in modo corretto. Crea una cartella test (ad es. C:\Condivisa). Tasto destro → Proprietà → scheda CondivisioneCondividi… → aggiungi l’utente che dovrà accedere (vedi note su Microsoft Account più avanti) oppure il gruppo Authenticated Users. Imposta “Lettura” o “Lettura/Scrittura” secondo necessità. In alternativa usa Condivisione avanzata per chiamare lo share con un nome breve (es. DATI).

Passo 4 — Allineare i permessi NTFS. Nella scheda Sicurezza assicurati che lo stesso utente/gruppo abbia i permessi coerenti (minimo Lettura; per scrittura/modifica assicurati “Modifica” o “Controllo totale”). Ricorda: l’accesso effettivo è l’intersezione tra permessi dello share e permessi NTFS; vince sempre il più restrittivo.

Passo 5 — Credenziali pulite e corrette.

  • Apri Gestione credenzialiCredenziali Windows e rimuovi voci obsolete relative a \\PC-A o al suo IP.
  • Se i due PC usano lo stesso Microsoft Account, quando compare il prompt digita come nome utente: MicrosoftAccount\latuaemail@dominio.com (in molti casi basta l’email). Salva le credenziali in Gestione credenziali: Aggiungi credenziali Windows → Indirizzo: \\PC-A → Utente: MicrosoftAccount\... → Password.
  • Se non compare alcun prompt, è probabile che esista già una sessione SMB aperta con credenziali sbagliate. Sulla macchina client esegui: net use net use \\PC-A /delete net use * /delete e riprova. In alternativa, riavvia il servizio Workstation: net stop workstation net start workstation
  • Opzione sicura e risolutiva: crea un utente locale identico su entrambi i PC (stesso nome e stessa password) e usalo per le condivisioni. Da Prompt amministratore: net user CondivisaUser P4ssw0rd! /add net localgroup Users CondivisaUser /add Poi assegna i permessi NTFS e di condivisione a CondivisaUser.
  • Solo in LAN privata controllata, puoi temporaneamente disattivare “Condivisione protetta da password” nella sezione Tutte le reti per test rapidi. Ricorda di riattivarla in seguito.

Passo 6 — Regole del firewall. Apri “Windows Defender Firewall con sicurezza avanzata” → Regole connessioni in ingresso → abilita tutte le voci Condivisione file e stampanti (SMB-In) sui profili Privato. Se hai software firewall di terze parti, disabilitalo temporaneamente per il test.

Passo 7 — Test con percorso UNC diretto. Individua l’indirizzo IP di PC A (ipconfig oppure Impostazioni → Rete & Internet) e prova dal client:

\\192.168.1.50\DATI

Se funziona con l’IP ma non con il nome, si tratta di risoluzione nomi (NetBIOS/LLMNR); potrai poi creare una voce nel DNS del router o nel file hosts come soluzione stabile.

Passo 8 — Servizi indispensabili. In services.msc verifica che siano impostati su Automatico e in esecuzione:

  • Function Discovery Provider Host (fdPHost)
  • Function Discovery Resource Publication (FDResPub)
  • Server (LanmanServer)
  • Workstation (LanmanWorkstation)

Passo 9 — Token bloccati e aggiornamenti. Se dovessi vedere “Current Account Locked” o un comportamento incoerente dopo molti tentativi, riavvia PC A e PC B. Installa gli ultimi aggiornamenti di qualità e driver di scheda di rete.

Passo 10 — Ulteriori controlli avanzati.

  • Disabilita SMB 1.0 nelle Funzionalità di Windows. Assicurati che SMB 2/3 siano attivi. Verifica con PowerShell amministratore: Get-SmbServerConfiguration | Select EnableSMB1Protocol,EnableSMB2Protocol Get-SmbClientConfiguration | Select EnableSMB2Protocol
  • Test porta 445 dal client: Test-NetConnection -ComputerName 192.168.1.50 -Port 445
  • Integrità di sistema: sfc /scannow chkdsk C: /scan
  • Antivirus di terze parti: disattivalo o crea un’eccezione per la porta 445 per escludere interferenze.

Gestione dei permessi con Microsoft Account

Quando accedi allo share di PC A usando lo stesso Microsoft Account presente su entrambi i PC, il nome utente in SMB è del tipo MicrosoftAccount\email@dominio.com. Per evitare rifiuti di password:

  1. Nella scheda Condivisione e nella scheda Sicurezza della cartella su PC A, aggiungi esplicitamente l’identità MicrosoftAccount\latuaemail e assegna i permessi corretti.
  2. In Gestione credenziali su PC B salva una credenziale Windows per \\PC-A con lo stesso formato utente. Eviterai prompt continui e lockout.
  3. Se continui a ricevere rifiuti, prova temporaneamente con un utente locale dedicato, così da isolare i problemi legati all’identità “MicrosoftAccount”.

Diagnostica rapida con PowerShell

Sul “server” (PC A):

# Elenco condivisioni
Get-SmbShare

Sessioni connesse

Get-SmbSession

File aperti

Get-SmbOpenFile

Richiedi o meno firma/encryption (verifica stato)

Get-SmbServerConfiguration | Select RequireSecuritySignature,EncryptData 

Sul “client” (PC B):

# Verifica connettività SMB (porta 445)
Test-NetConnection -ComputerName PC-A -Port 445

Cancella sessioni SMB pendenti

net use \PC-A /delete
net use * /delete

Connetti esplicitamente con credenziali

net use \PC-A\DATI /user:MicrosoftAccount\[latuaemail@dominio.com](mailto:latuaemail@dominio.com) "LaTuaPassword" 

Event Viewer e log utili

Apri eventvwr.msc e controlla:

  • Registri di Windows → Sistema: sorgenti srv2, srvnet, LanmanServer, DNS Client.
  • Registri di Windows → Sicurezza: eventi di accesso/non accesso (ad es. ID 4624/4625) per capire se il rifiuto è dovuto a credenziali o permessi.
  • Registri applicazioni e servizio → Microsoft → Windows → SMBClient: dettagli di negoziazione e connessione.

Risolvere l’errore «rpc struct is bad» su iPhone

L’errore in genere indica un problema di autenticazione o permessi sul server SMB.

  1. Su PC A assicurati che lo share funzioni da un altro PC Windows con le stesse credenziali.
  2. Nell’app File su iPhone: Connetti al serversmb://<IP_PC-A>. Inserisci utente e password reali (evita l’accesso come Ospite). Con Microsoft Account usa MicrosoftAccount\email come nome utente oppure solo l’email.
  3. Se il server richiede firma o cifratura SMB e il client rifiuta, allinea i requisiti su PC A (di default su Home non è “obbligatoria”).
  4. Se persiste, crea un utente locale su PC A, assegna i permessi alla cartella e usa quelle credenziali dall’iPhone. È il modo più rapido per aggirare qualsiasi stranezza legata al Microsoft Account.

Modello di permessi consigliato

Per una rete domestica/ufficio piccolo, bilancia sicurezza e semplicità così:

  • Profilo di rete: Privata.
  • Individuazione rete e condivisione: Attive.
  • Share: concedi a Authenticated Users Lettura (o Modifica se necessario); limita l’accesso NTFS solo agli utenti che ne hanno davvero bisogno.
  • Credenziali: salva in Gestione credenziali per evitare lockout e tentativi ripetuti.
  • SMB: SMB 1 disattivo, SMB 2/3 attivi. Nessun “Guest” non autenticato.

Risoluzione dei casi più comuni

  • La password del Microsoft Account viene rifiutata: verifica il formato utente (MicrosoftAccount\email), elimina credenziali salvate sbagliate, chiudi le sessioni SMB con net use. In alternativa, usa utente locale identico su entrambi i PC.
  • Non appare il prompt di credenziali: c’è già una sessione aperta verso \\PC-A. Cancella con net use \\PC-A /delete.
  • Vedi la cartella ma non entri: permessi NTFS insufficienti. Aggiungi l’utente giusto in Sicurezza con Modifica o Controllo totale secondo necessità.
  • Il nome del PC non si risolve: usa l’IP o configura correttamente la risoluzione nomi sul router/DNS locale.
  • iPhone «rpc struct is bad»: allinea utenti/permessi, evita Guest, usa smb://IP, e prova con un utente locale dedicato.
  • Errore “Current Account Locked”: riavvio, aggiornamenti, cancellazione delle credenziali e chiusura delle sessioni SMB di solito sbloccano la situazione.

Checklist operativa pronta all’uso

  • Profilo rete di PC A: Privata.
  • Individuazione rete e condivisione: Attive.
  • Share creato su PC A e visibile (usa Get-SmbShare).
  • Permessi NTFS allineati con i permessi dello share.
  • Firewall: regole SMB-In abilitate sul profilo Privato.
  • Servizi FDResPub, fdPHost, Server, Workstation: Automatici e in esecuzione.
  • Credenziali corrette, nessuna sessione SMB “sporca” (net use pulito).
  • SMB 1 disattivo; SMB 2/3 attivi.
  • Test porta 445: Test-NetConnection <IP_PC-A> -Port 445 positivo.

Buone pratiche di sicurezza

  • Evita di attivare SMB 1.0: è deprecato e vulnerabile.
  • Limita i permessi NTFS al minimo necessario; usa condivisioni “solo lettura” quando possibile.
  • Non lasciare attiva la condivisione protetta da password disattivata in modo permanente se la rete non è completamente fidata.
  • Considera un utente locale dedicato alla condivisione con password robusta, invece di usare l’account amministratore personale.

Conclusione operativa

Nella maggior parte dei casi, impostare la rete su Privata, attivare l’individuazione, creare lo share con permessi NTFS coerenti e ripulire credenziali/sessioni SMB risolve la condivisione unidirezionale tra Windows 10 e Windows 11. Se l’accesso continua a fallire, crea su entrambi i PC un account locale con la stessa password, assegnagli i permessi e ripeti i test: è il metodo più rapido per isolare i problemi legati al Microsoft Account e chiudere il caso anche quando accedi da iPhone.


Appendice A — Percorsi esatti dell’interfaccia

  • Profilo rete Privata: Impostazioni → Rete & Internet → Wi‑Fi/Ethernet → Proprietà → Profilo di rete.
  • Condivisione avanzata: Pannello di controllo → Rete e Internet → Centro connessioni → Modifica impostazioni di condivisione avanzate.
  • Gestione credenziali: Pannello di controllo → Account utente → Gestione credenziali → Credenziali Windows.
  • Firewall avanzato: Pannello di controllo → Sistema e sicurezza → Windows Defender Firewall → Impostazioni avanzate → Regole in ingresso.
  • Servizi: Esegui → services.msc.

Appendice B — Script rapido di verifica

Esegui su PC A (PowerShell come amministratore) per un controllo lampo:

# Stato servizi chiave
Get-Service fdPHost, FDResPub, LanmanServer, LanmanWorkstation

Porte firewall SMB-In (profilo Privato)

Get-NetFirewallRule -DisplayGroup "Condivisione file e stampanti" |
Where-Object {$.Enabled -eq "True" -and $.Profile -match "Private"} |
Format-Table DisplayName, Enabled, Profile

Share e permessi

Get-SmbShare | Select Name,Path,FolderEnumerationMode,EncryptData 

Appendice C — Modello di share di prova

  1. Crea C:\Condivisa.
  2. Condivisione → Condividi… → utente CondivisaUserLettura/Scrittura.
  3. Sicurezza → aggiungi CondivisaUserModifica.
  4. Dal client: \\PC-A\Condivisa con credenziali salvate.

Se segui la sequenza e documenti ogni modifica, potrai identificare con precisione il punto di rottura (permessi, credenziali, servizi, firewall, risoluzione nomi) e stabilizzare definitivamente la condivisione file tra Windows 10 e Windows 11.

Indice