Cette question a déjà une réponse ici:
Mon répertoire personnel est c: \ Users \ phi en tant qu'utilisateur phi, et j'ai créé un répertoire dans c: \ Users \ abc. J'ai besoin d'un lien symbolique de c: \ Users \ phi \ hello vers c: \ Users \ abc \ hello.
J'exécute la commande suivante
mklink c: \ Users \ abc \ hello c: \ Users \ phi \ hello
Mais j'obtiens l' erreur Accès refusé . L'utilisateur phi est administrateur, donc je n'ai aucun problème à écrire des fichiers dans c: \ Users \ abc.
Pourquoi est-ce? Comment mklink?
SeCreateSymbolicLinkPrivilege
), tandis que pour les utilisateurs administrateurs, vous devez élever avec run-as-admin. Mais est-il possible de définir égalementSeCreateSymbolicLinkPrivilege
un utilisateur administrateur et d'éviter d'avoir à élever avec run-as-admin? Cette question: stackoverflow.com/questions/29956470/… indique que pour que les administrateurs ne doivent pas élever, l'UAC doit être désactivé.J'ai trouvé une réponse sur ce site . En bref, j'aurais dû exécuter cmd.exe en tant qu'administrateur.
la source
Notez que la même erreur sera présentée lorsque vous essayez de créer des jonctions sur des lecteurs mappés . Je me tirais les cheveux jusqu'à ce que je tombe sur les exemples de cette page sur MSDN Hard Links and Junctions .
Réponse courte: vous ne pouvez utiliser mklink que sur des volumes locaux.
la source
mklink
au-delà des volumes locaux.mklink /d link_name \\server\share
fonctionne très bien.Dans Windows 7 (et versions ultérieures), vous avez besoin d'un privilège de sécurité spécial pour créer des liens et des jonctions. En tant qu'administrateur, vous pouvez accorder cette autorisation aux utilisateurs qui utilisent
secpol.msc
pour définirLocal Policies\User Rights Assignment\Create symbolic links
.Si l'utilisateur est connecté à ce moment-là, il devra se déconnecter puis se reconnecter pour pouvoir créer des liens.
Notez la prudence que les liens peuvent exposer les faiblesses de sécurité dans certaines applications - je n'ai pas recherché quelles pourraient être ces faiblesses.
la source
Si vous utilisez fréquemment Linux, n'oubliez pas que les paramètres sont échangés sous Windows.
Si vous utilisez la mauvaise commande, vous obtiendrez également un "Accès refusé". Parce que vous essayez de créer un lien symbolique où l'original existe déjà.
Les fenêtres:
mklink /D link original
Linux:
ln -s original link
la source
J'obtenais ceci parce que j'ai accidentellement couru
mklink /D
contre un fichier. Le lien ne s'affichait pas dans l'explorateur, mais il l'a fait dans l'explorateur Windows. À l'aide de l'invite de commandes, j'ai supprimé le lien de répertoire non valide d'origine, puis je l'ai recréé sans l'/D
option.Soit dit en passant, j'obtenais l'erreur «Accès refusé» même si j'exécutais cmd.exe en tant qu'administrateur.
la source
Outre l'exécution en
mklink
tant qu'administrateur, vous devez également vous assurer que vous disposez des autorisations suffisantes pour le dossier de destination auquel vous vous connectez.la source
Si vous exécutez:
ça devrait marcher. Dans mon cas, powershell et cmd ont produit la même sortie. Pour PowerShell, il vous suffit de démarrer la commande avec
la source
mklink /D src tgt
plutôt.Cela peut sembler étrange, mais vérifiez que le fichier ou le dossier n'existe pas déjà que vous essayez de créer. Parfois, il est facile d'oublier dans l'invite cmd.
la source
Pour les répertoires, vous devez faire:
la source