Une invite de ligne de commande surélevée ne peut pas accéder aux lecteurs partagés


62
  1. Je mappe un partage d'une autre machine à l'aide de mon compte d'utilisateur.
  2. Je lance une invite de commande élevée (cmd.exe, clic droit, Exécuter en tant qu'administrateur).
  3. La navigation sur le lecteur partagé (Z :) entraîne:

The system cannot find the drive specified

Maintenant, si j'ouvre une invite de commande non surélevée, je peux accéder à Z: très bien.


Réponses:


47

Ouvrir un explorateur Windows en tant qu'administrateur et recréer les partages réseau ne me fonctionnait pas. Ensuite, j'ai trouvé cette solution: créez le partage sur l'invite de commande elle-même. Cela a fonctionné pour moi.

net use f: \\remoteserver\subfolder      

Même si le lecteur est déjà mappé dans l'explorateur Windows, il a quand même fonctionné.

Remarque: utilisez uniquement une simple barre oblique inverse avant le sous-dossier.


25

Ce n’est probablement pas un problème d’autorisations de fichiers, mais il est lié à:

  • Les partages réseau étant associés aux sessions (en d'autres termes, différents utilisateurs peuvent avoir un ensemble de partages réseau différent). Notez qu'un utilisateur peut avoir plusieurs sessions.
  • Comment fonctionne le contrôle de compte d'utilisateur.

Étant donné que presque tous les utilisateurs utilisaient un compte administrateur sous XP (la plupart des programmeurs ne voulant pas que leurs programmes fonctionnent avec des comptes limités), Microsoft a créé une "version limitée" des comptes administrateurs à partir de Vista, et dans certains cas, les deux "versions". "compte comme différents utilisateurs (puisqu'il s'agit de sessions séparées).

Essayez de lancer un Explorateur Windows élevé (c.-à-d. Un Explorateur Windows lancé avec «Exécuter en tant qu'administrateur») et recréez tous les partages réseau, ce qui devrait faire l'affaire.

La raison pour avoir à recréer les partages est expliquée dans cette entrée de blog MSDN:

Disques réseau mappés avec UAC sous Windows Vista

Éditer: extraits pertinents de l'entrée de blog (l'emphase mienne):

Pour simplifier les choses, supposons que vous exécutez en tant qu'administrateur avec le contrôle de compte d'utilisateur activé (bien que, pour plus de sécurité, il est préférable de l'exécuter en tant qu'utilisateur standard). Lorsque vous vous connectez, vous créez un nouveau jeton. Nous détectons ensuite que vous avez activé le contrôle de compte d'utilisateur, nous nous connectons une deuxième fois et nous nous retrouvons avec un nouveau jeton (très restreint) que nous utilisons pour lancer le shell. Il y a deux événements de connexion distincts .
(...)
Cette fonctionnalité facilite la gestion des problèmes liés aux lecteurs réseau mappés. Avant Windows 2000 SP2, les noms de périphérique restaient globalement visibles jusqu'à leur suppression explicite ou le redémarrage du système. Pour des raisons de sécurité , nous avons modifié ce comportement à partir de Windows 2000 SP2. A partir de ce moment,tous les périphériques sont associés à un ID d'authentification (LUID) - un ID généré pour chaque session d'ouverture de session .
(...)
Étant donné que ces lecteurs mappés sont associés à un LUID et que les applications élevées utilisent un LUID différent généré au cours d'un événement de connexion distinct, cette application ne verra plus aucun lecteur mappé pour cet utilisateur.


4
J'ai utilisé un explorateur Windows élevé et l'invite de commande élevée ne peut toujours pas trouver le lecteur mappé.
icelava

1
D'après ce que je comprends, sous Windows 7, lorsque je suis "exécuté en tant qu'administrateur", il ne s'exécute pas en réalité sous le compte nommé "Administrateur" (Windows XP-ish), mais plutôt en tant que mon compte mais avec quelques bits de super utilisateur définis. Je ne comprends pas pourquoi il y a une différence entre les deux scénarios que j'ai décrits.
mindless.panda

1
Il existe une différence, car les deux "versions" de tous les comptes d'administrateur pour certains aspects fonctionnent comme des comptes différents, même s'il s'agit du même compte avec des autorisations différentes (comme l'explique le blog que j'ai lié).
Alberto Martinez

1
@ mindless.panda: Vous avez absolument raison. L'option "Exécuter en tant qu'administrateur" fait entièrement référence au paramètre Administrateur associé à UAC. Cela n'a simplement rien à voir avec le groupe des administrateurs. Si vous désactivez le contrôle de compte d'utilisateur (ce qui peut nécessiter un redémarrage pour qu'il prenne pleinement effet), il se peut que l'option "Exécuter en tant qu'administrateur" n'existe même pas lorsque le contrôle de compte d'utilisateur est désactivé. Notez qu'une invite de commande d'administrateur peut toujours utiliser les lecteurs partagés en tant que UNC, par exemple, \\ nom_serveur \ nom_utilisateur - il ne s'agit que des lettres de lecteur perdues simplement parce que c'est ainsi que Microsoft les a conçues. Remake 'em, et tout est bien dans cette invite.
TOOGAM

Je suis administrateur, je ne peux pas lancer de fenêtre d'exploration surélevée (Win 8)
user15507

7

Alberto Martinez répond pourquoi le lecteur réseau mappé n'est pas accessible.

Voici le correctif de registre pour résoudre le problème:

  • Ouvrez regedit et allez à HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System
  • Ajoutez une nouvelle valeur DWORD (32 bits) nommée EnableLinkedConnections .
  • Ajustez la valeur à 1 (ou 00000001).

Quittez regedit et redémarrez l'ordinateur.



1
C’est définitivement la meilleure solution à ce problème.
Alecov

1
Ne fonctionne pas sur Win10
Christian Schäfer

ou serveur Windows 2016
RM

1

Je mappe un partage d'une autre machine à l'aide de mon compte d'utilisateur.

ce lecteur réseau est disponible UNIQUEMENT dans le compte d'utilisateur mappé sur le lecteur réseau.


0

Lancez cmd en tant qu'administrateur, tapez la commande net use z: \\net\path /persistent:yeset vous avez terminé. Une autre chose que j'ai faite, et cela va au-delà de la question de l'op, est qu'après avoir épinglé la commande cmd à la barre des tâches et dans les propriétés-> Paramètres avancés pour qu'elle s'exécute en tant qu'administrateur, j'ai ajouté / K z: à la fin de la 'cible' zone de texte, il est donc devenu: %windir%\system32\cmd.exe /K z:. Parce que définir le paramètre "Démarrer dans" ne semblait pas fonctionner. Cela a abouti à une icône sur ma barre des tâches qui démarre une fenêtre de commande en tant qu'administrateur et avec l'invite du lecteur mappé. Et n'oubliez pas de revenir dans les propriétés et de personnaliser la police, les couleurs, la taille et la position de la fenêtre, ainsi que la taille du tampon de défilement du texte et de l'historique des commandes!


-2

Vérifiez votre chemin réseau et déconnectez le lecteur mappé (Z :) Exécutez CMD en tant qu'administrateur. Une fois là-bas, utilisez la commande "net use" pour mapper à nouveau le lecteur. net use Z: \ SharePath, puis essayez d'y accéder à nouveau.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.