Condividi tramite


La copia di file da un'unità mappata a una directory locale ha esito negativo e viene visualizzato l'errore (Percorso non disponibile) se il controllo dell'account utente è abilitato

Questo articolo risolve l'errore Percorso non disponibile quando si tenta di copiare i file da un'unità mappata.

Numero KB originale: 2019185

Sintomi

Se il controllo dell'account utente è abilitato, è possibile che venga visualizzato l'errore seguente quando si tenta di copiare un file da un'unità mappata a una directory locale:

La posizione non è disponibile
<lettera> di unità mappata\ fa riferimento a una posizione non disponibile. Potrebbe trovarsi su un disco rigido in questo computer o in una rete. Verificare che il disco sia inserito correttamente o che si sia connessi a Internet o alla rete e quindi riprovare. Se non è ancora possibile trovarlo, le informazioni potrebbero essere state spostate in una posizione diversa.

Causa

La causa sottostante è controllo dell'account utente e l'interazione con il token diviso. Quando un amministratore accede a un computer con la modalità approvazione amministratore (AAM) abilitata, all'utente vengono concessi due token di accesso:

  • un token di accesso amministratore completo
  • un token di accesso utente standard filtrato

Per impostazione predefinita, quando un membro del gruppo Administrators locale accede, i privilegi amministrativi di Windows vengono disabilitati e i diritti utente elevati vengono rimossi. Viene generato il token di accesso utente standard. Il token di accesso utente standard viene quindi usato per avviare il desktop (Explorer.exe). Explorer.exe è il processo padre da cui tutti gli altri processi avviati dall'utente ereditano il rispettivo token di accesso. Di conseguenza, tutte le applicazioni vengono eseguite come utente standard per impostazione predefinita, a meno che un utente non fornisca il consenso o le credenziali per approvare un'applicazione per l'uso di un token di accesso amministrativo completo. A differenza di questo processo, quando un utente standard accede, viene creato solo un token di accesso utente standard. Questo token di accesso utente standard viene quindi usato per avviare il desktop.

Affinché l'errore si verifichi, è necessario che si verifichino le condizioni seguenti:

  1. Controllo dell'account utente è abilitato con AAM.
  2. L'utente non è connesso come amministratore del computer locale o con credenziali dell'account amministratore di dominio.
  3. Viene eseguito il mapping di un'unità usando il contesto di sicurezza utente standard.
  4. Gli utenti non dispongono delle autorizzazioni NTFS di creazione/scrittura nella directory di destinazione.

L'utente ha eseguito il mapping di un'unità usando l'opzione Mappa unità di rete in Esplora risorse o eseguendo il net use comando in un prompt dei comandi non con privilegi elevati. Le unità mappate possono essere visualizzate eseguendo net use come utente standard da un prompt dei comandi non con privilegi elevati. In questo caso, l'unità è stata mappata come utente standard.

C:\Users\johnsmith>net use
New connections will be remembered.
Status      Local     Remote                    Network
-------------------------------------------------------------------------------
OK          X: [\\contoso-dc1\d$](file://contoso-dc1/d$)               Microsoft Windows Network
The command completed successfully.

Se si esegue lo stesso comando in un prompt dei comandi con privilegi elevati, non è elencata alcuna unità mappata.

C:\Windows\system32>net use
New connections will be remembered.
There are no entries in the list.

Mostra chiaramente che la sessione con privilegi elevati non visualizza l'unità mappata dell'utente standard. Non è quindi possibile completare l'operazione di copia. Questo comportamento è impostato a livello di progettazione.

Note

Per impostazione predefinita, AAM è abilitato per gli account membri del gruppo Administrators locale. L'impostazione è disponibile nel nodo Opzioni di sicurezza di Criteri locali, in Impostazioni di sicurezza ed è configurabile con l'Editor Criteri di gruppo locali (secpol.msc) e con La Console Gestione Criteri di gruppo (GPMC) (gpedit.msc). Per altre informazioni su Controllo dell'account utente, vedere Controllo dell'account utente.

Risoluzione

  1. Eseguire il mapping dell'unità usando un processo con privilegi elevati. Esplora risorse non visualizzerà tuttavia il mapping delle unità con privilegi elevati. Per altre informazioni, vedere la sezione Altre informazioni .

    Controllo dell'account utente di Windows 7

  2. Usare un percorso UNC per connettersi alle risorse di rete, ad esempio \\server\share.

  3. Usare Le preferenze di Criteri di gruppo per eseguire il mapping delle unità. Il white paper a cui si fa riferimento di seguito introduce preferenze di Criteri di gruppo, una nuova funzionalità di Windows Server 2008. Il white paper descrive come usare Le preferenze di Criteri di gruppo per distribuire e gestire meglio il sistema operativo e le impostazioni dell'applicazione. Le preferenze di Criteri di gruppo consentono di configurare, distribuire e gestire le impostazioni del sistema operativo e dell'applicazione che in precedenza non era possibile gestire tramite Criteri di gruppo. Tra gli esempi sono incluse le unità mappate, le attività pianificate e le impostazioni di menu Start. Per molti tipi di impostazioni del sistema operativo e dell'applicazione, l'uso delle preferenze di Criteri di gruppo è un'alternativa migliore alla configurazione nelle immagini di Windows o all'uso di script di accesso.

    Panoramica delle preferenze di Criteri di gruppo

  4. Eseguire il mapping delle unità con uno script di accesso che usa lo script launchapp.wsf per pianificare i comandi usando l'utilità di pianificazione dell'attività. Il documento seguente consente di ordinare le funzionalità nuove e aggiornate disponibili in Windows Vista. Fornisce anche molte procedure consigliate per la distribuzione di Criteri di gruppo.

    Distribuzione di Criteri di gruppo con Windows Vista

  5. L'articolo seguente descrive un metodo non supportato che ripristina la modifica di sicurezza descritta in precedenza configurando il valore del EnableLinkedConnections Registro di sistema. Questo valore consente a Windows Vista di condividere le connessioni di rete tra il token di accesso filtrato e il token di accesso amministratore completo per un membro del gruppo Administrators. Dopo aver configurato questo valore del Registro di sistema, LSA verifica se un altro token di accesso è associato alla sessione utente corrente se viene eseguito il mapping di una risorsa di rete a un token di accesso. Se LSA determina che è presente un token di accesso collegato, aggiunge la condivisione di rete al percorso collegato.

    I programmi potrebbero non essere in grado di accedere ad alcuni percorsi di rete dopo l'attivazione del controllo dell'account utente in Windows Vista o nei sistemi operativi più recenti

Ulteriori informazioni

Quando l'utente amministratore accede a, Windows elabora gli script di accesso usando il token con privilegi elevati. Lo script funziona e esegue il mapping dell'unità. Tuttavia, Windows blocca la visualizzazione delle unità di rete mappate perché il desktop usa il token filtrato mentre le unità sono state mappate usando il token con privilegi elevati (amministratore completo).

Prima che Windows 2000 SP2, i nomi dei dispositivi (ad esempio, le unità mappate) rimangano visibili a livello globale fino a quando non vengono rimossi in modo esplicito o riavviati dal sistema. Per motivi di sicurezza, questo comportamento è stato modificato a partire da Windows 2000 SP2. Da questo punto in poi, tutti i dispositivi sono associati a un ID di autenticazione (LUID). LUID è un ID generato per ogni sessione di accesso. Un processo in esecuzione nel contesto LocalSystem può creare un nome di dispositivo nello spazio dei nomi globale del dispositivo, anche se gli oggetti dello spazio dei nomi locale possono nascondere gli oggetti dello spazio dei nomi globale.

Queste unità mappate sono associate a LUID. E le applicazioni con privilegi elevati usano un luid diverso generato durante un evento di accesso separato. Pertanto, l'applicazione con privilegi elevati non visualizzerà più le unità mappate per questo utente. Si noterà lo stesso comportamento in precedenza usando RunAs o l'API, ma controllo dell'account CreateProcessAsUser utente aumenta notevolmente il numero di utenti che useranno questi concetti.

Il risultato è che, se si eleva un prompt dei comandi, non verranno più visualizzate le unità mappate dello spazio dei nomi locali create dall'account di accesso originale (se create tramite uno script di accesso, usando l'API WNetAddConnection o in altro modo). È disponibile una mitigazione per lo scenario di avvio da Esplora risorse. Se si fa doppio clic su un eseguibile rilevato come file di installazione o viene visualizzato come requireAdministrator, Windows può rilevare che è stato elevato e che si è verificato un errore che indica che il percorso non è stato trovato e copiare il mapping dell'unità dal LUID originale. Tuttavia, questo è l'unico scenario automatizzato.