Group Policy – Slow Link Detection

Ciao a tutti!

Può capitare che alcune impostazioni delle policy non siano applicate correttamente.
Eppure, spesso si pensa: ma se una parte viene eseguita perché l'altra è ignorata?

Ebbene, escludendo i problemi di allineamento dei Domain Controller o "problemi di terze parti", c'è un motivo prettamente tecnico e funzionale: la velocità della rete.

E’ in base alla banda di rete che il sistema decide se eseguire o meno le parti delle policy che utilizzano la rete in maniera più intensiva: pensate agli script o alla distribuzione di programmi.

Di default vengono sempre applicate:

  • Registry settings
  • Security policies
  • EFS recovery policy
  • IP security

ma se siamo in presenza di una rete lenta allora queste parti sono "ignorate":

  • Application Deployment
  • Scripts
  • Folder Redirection
  • Disk Quotas

Se volete modificare questo comportamento si deve creare una policy che definisca come comportarsi modificando le relative sezioni in:

Computer Configuration\Administrative Templates\System\Group Policy

Dove potete indicare per ogni "qualità" se queste impostazioni vanno applicate anche in caso di rete lenta e specificare se applicarle anche se non sono mai cambiate.

Tenete presente che la parte degli scripts riguarda solo logon e logoff per l'utente, gli script di startup/shutdown per la macchina non sono mai eseguiti in caso di rete lenta.

L'esito di una rete veloce è segnalato nel file UserEnv.Log come indicato di seguito:

USERENV(278.44c) 11:45:26:800 PingComputer: PingBufferSize set as 2048
USERENV(278.44c) 11:45:26:800 PingComputer: Adapter speed 1000000000 bps
USERENV(278.44c) 11:45:26:800 PingComputer: First time: 0
USERENV(278.44c) 11:45:26:800 PingComputer: Fast link. Exiting.

Se invece siamo in presenza di qualche latenza di rete potremmo vedere:

USERENV(5c4.85c) 10:36:57:796 PingComputer: Adapter speed 100000000 bps
USERENV(5c4.85c) 10:36:57:953 PingComputer: First time: 159
USERENV(5c4.85c) 10:36:58:000 PingComputer: Second time: 36
USERENV(5c4.85c) 10:36:58:000 PingComputer: Second time less than first time.
USERENV(5c4.85c) 10:36:58:031 PingComputer: First time: 28
USERENV(5c4.85c) 10:36:58:109 PingComputer: Second time: 71
USERENV(5c4.85c) 10:36:58:156 PingComputer: First time: 39
USERENV(5c4.85c) 10:36:58:234 PingComputer: Second time: 79
USERENV(5c4.85c) 10:36:58:250 PingComputer: Transfer rate: 780 Kbps Loop count: 2

La verifica della velocità della rete è misurata in base all'esito di alcuni ping e questa formula:

LinkSpeed=32000/ulTotal

ulTotal è dato dalla media arrotondata della differenza tra i ping, escluso se il primo è più grande del secondo.

Nel caso precedente abbiamo quindi:

ulToal = int((71-28) + (79-39)) / 2 = 83 / 2 = 41

Quindi la velocità è: 32000/41 = 780 Kbps

Confrontando il parametro "Transfer rate" con quanto è dettato dalle policy il sistema decide se la rete è veloce o lenta.

I parametri presi per il confronto sono indicati su:

Computer Configuration\Administrative Templates\System\Group Policy "Group Policy slow link detection"
User Configuration\Administrative Templates\System\Group Policy "Group Policy slow link detection"

Il valore è espresso in kbps e il valore di default è 500 kbps.

Per disabilitare il controllo è sufficiente impostare entrambi i valori a 0.

Una prima verifica è possibile anche con il seguente comando:

GPRESULT -V

nel testo visualizzato compare (per user e per computer):

Connected over a slow link?: No (oppure Yes...)

e l'impostazione della velocità di rete via policy:

Group Policy slow link threshold: 500 kbps

Di seguito vi riporto la documentazione ufficiale:

Alla prossima!!

Domenico Costa
Senior Support Engineer
Microsoft Enterprise Platform Support