Metodo 1
Un modo in cui ho affrontato questo problema in un sistema critico di Windows Server in un unico ambiente mantengo era con uno script batch che utilizza Set-NetConnectionProfile e netsh , e impostato in modo esplicito ogni attendibile NIC / adattatore sulla macchina privata presso all'avvio del sistema con Utilità di pianificazione utilizzando Run whether user is logged on or not
e l' Run with highest privileges
opzione.
Nota: Mentre la nota di taglie indica " La soluzione non deve causare la perdita della connettività di rete da implementare ", ho voluto menzionare che poiché quando si verifica questo problema si ha comunque un'interruzione della rete, che l'esecuzione di questo script se il problema si verifica in modo casuale quando il sistema è non riavviato che semplicemente eseguendo questo stesso script risolverà comunque rapidamente il problema e ripristinerà l'accesso alla rete della macchina OS nell'ordine di lavoro e previsto.
Inoltre, è possibile utilizzare Get-NetConnectionProfile per ottenere i nomi di alias NIC e i numeri di indice da inserire nello script batch di esempio di seguito per le proprie esigenze e / o sistemi.
Script batch
@ECHO ON
::: The below PowerShell will set all the nework adapters to private rather than public and unknown as happens.
:DynamicPSScriptBuild
SET PSScript=%temp%\%~n0.ps1
IF EXIST "%PSScript%" DEL /Q /F "%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 12 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 20 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 22 -NetworkCategory Private>>"%PSScript%"
ECHO Set-NetConnectionProfile -InterfaceIndex 24 -NetworkCategory Private>>"%PSScript%"
:PowerShell
SET PowerShellDir=C:\Windows\System32\WindowsPowerShell\v1.0
CD /D "%PowerShellDir%"
Powershell -ExecutionPolicy Bypass -Command "& '%PSScript%'"
:: The below will disable and then re-enable each NIC one-by-one so the unidentfied goes away after set to "private" above
:ResetNICs
SET Array="Ethernet", "Ethernet 2", "Ethernet 3", "Ethernet 4"
FOR %%A IN (%Array%) DO (
netsh int set int "%%~A" admin=disable
netsh int set int "%%~A" admin=enable
)
EXIT
Di seguito sono riportati alcuni altri metodi, con uno dei tanti quello che hai provato ma l'ho lasciato lì per gli altri che si imbattono in questo post nel caso li aiuti, ma questi sono alcuni modi per impedirlo del tutto forse ma ci sono sarà sempre vantaggi e svantaggi di qualsiasi metodo tu scelga di usare, quindi scegli il tuo veleno e prova di conseguenza.
Metodo 2 (Metodi multipli)
Se NLA non è in grado di determinare la posizione delle connessioni, la denomina "Non identificata" e contrassegna la posizione come pubblica. Scegli Pubblico perché è il più sicuro e non vorresti niente di meno se la connessione fosse sulla DMZ.
Esistono due modi semplici per risolvere questo problema. Uno utilizza la politica di sicurezza locale per modificare il percorso predefinito delle reti non identificate. Il secondo metodo utilizza una modifica alle proprietà della connessione di rete per fornire a NLA le informazioni necessarie per posizionare correttamente la posizione.
Utilizzando la politica di sicurezza locale
Attenzione: questo dovrebbe essere usato solo se il computer non avrà mai connessioni sulla LAN pubblica. Altrimenti, si corre il rischio di applicare un profilo firewall meno sicuro alla propria connessione pubblica.
Apri " Criteri di sicurezza locali ".
Fare clic su " Criteri di Gestione elenco reti " nel riquadro a sinistra. (Questa selezione è sepolta nelle versioni precedenti di Windows.)
Fare doppio clic su " Reti non identificate " nel riquadro destro.
Per i computer che esistono solo sulla rete privata, è OK impostare " Tipo di posizione " su " privato ".
Utilizzo delle proprietà della connessione di rete
Non si tratta di aggiungere un IP gateway poiché non funziona correttamente su un server multihomed. Invece aggiungeremo un suffisso DNS in modo che NLA possa localizzare correttamente il controller di dominio, che è il modo in cui sa contrassegnare la posizione come "Rete di dominio".
Vai a Connessioni di rete (dal Centro connessioni di rete e condivisione, fai clic su "Modifica impostazioni scheda").
Vai alle proprietà di una connessione di rete contrassegnata come " Non identificato " ma sulla LAN privata.
Vai alle proprietà per IPv4 .
Fai clic sul pulsante " Avanzate ...".
Seleziona la scheda DNS .
Inserisci il tuo nome di dominio nella casella di testo per " Suffisso DNS per questa connessione: ".
Disabilitare e quindi abilitare la connessione per consentire a NLA di identificare nuovamente la posizione. Dopo aver abilitato la connessione, lo Stato dovrebbe cambiare in Nome dominio e Categoria di rete in "Rete di dominio". A seconda della configurazione, è probabile che sia necessario "correggere" solo una connessione per ottenere tutte le connessioni correlate per vedere il dominio.
Passa da privato a pubblico
Esistono due modi comuni per forzare l'NLA a contrassegnare una connessione come pubblica. Uno è utilizzare una regola firewall per bloccare NLA in modo che non abbia altra scelta che utilizzare la posizione predefinita. L'altro è utilizzare il registro per disabilitare NLA sulla connessione.
Utilizzando il firewall
Non l'ho provato ma la teoria sembra solida.
Apri " Windows Firewall con sicurezza avanzata " (ad es wf.msc
.).
Vai a Regole in uscita .
Fai clic su " Nuova regola ...".
Usa queste impostazioni:
- Tipo di regola: personalizzato
- Programma: selezionare "Tutti i programmi", quindi fare clic su "Personalizza ...". Seleziona "Network Location Awareness" (il nome breve è NlaSvc).
- Protocollo e porte: Tipo di protocollo = Qualsiasi.
- Ambito: IP locali = Inserisci tutti i tuoi IP pubblici. Ricontrolla le connessioni con più IP.
- Azione: blocco
- Profilo: tutti
Una volta abilitata la regola, disabilitare e quindi abilitare la connessione di rete per fare in modo che NLA identifichi nuovamente la posizione.
Utilizzando il registro
Non ho avuto questo lavoro per me, ma la mia circostanza potrebbe essere diversa dalla tua. Trovare il numero di connessione corretto è un po 'incostante perché ci sono molte più voci di quelle che ti aspetteresti.
Esegui regedit
Vai a HKLM\SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325-11CE-BFC1-08002BE10318}
Sotto dovresti vedere diverse chiavi etichettate con 0000, 0001, 0002 ecc ... Guardale attraverso e trova gli adattatori dove vuoi disabilitare NLA.
Per ciascuno degli adattatori, aggiungi un nuovo valore DWORD denominato "* NdisDeviceType" e impostalo su 1 (assicurati di ottenere * all'inizio del nome).
Ottenere drastico
I profili di posizione sono ospitati nel registro e sembra innocuo eliminarli e consentire a Windows di ricostruirli. Avrai sicuramente bisogno di fare prima il backup del registro e probabilmente dovrai essere connesso al server tramite KVM piuttosto che remoto (RDP). Non mi assumerò alcuna responsabilità se scegli questo passaggio in quanto lo sto principalmente mettendo qui come riferimento.
La posizione dei profili è:
HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles
fonte