Je suis un gars de Linux et en tant que tel, je suis très perdu lorsque j'essaie de faire quelque chose que ce soit avec Windows. J'essaie de créer le lien suivant:
mklink /d C:\backup\data \\myth\backup\data
Mais je n'ai pas le privilège suffisant pour effectuer cette opération. Comment obtenir des privilèges suffisants dans Windows 7?
METTRE À JOUR:
Cliquez avec le bouton droit de la souris sur C:\backup\data et modifiez les autorisations en accès complet pour l'utilisateur authentifié, redémarrez la machine et relancez la commande sans succès. Quelqu'un a d'autres suggestions?
Comme indiqué ici ,
La création de liens symboliques nécessite le privilège SeCreateSymbolicLinkPrivilege («Créer des liens symboliques»), qui est uniquement attribué aux administrateurs par défaut (vous pouvez toutefois le modifier à l'aide de la stratégie de sécurité).
Pour changer les politiques:
Faites un clic droit sur Start
→ Run
et lancez secpol.msc
.
Ouvrez Security Settings → Local Policies → User Rights Assignment
et sélectionnez Create symbolic links
(qui représente SeCreateSymbolicLinkPrivilege
).
Users
) à la liste.Les modifications s'appliqueront lorsque vous vous déconnecterez et vous vous reconnecterez.
Je viens de découvrir que je peux créer une "jonction" même si je ne peux pas créer de lien symbolique:
mklink [/D] /J junctionname filename
où/J indique 'créer une jonction', et le/D est, je crois, pour si le fichier nommé est un répertoire. (mon utilisateur est actuellement administrateur)
Cependant, une jonction avec un fichier 'bat' ne semble pas être exécutable, ce qui ne sert donc à rien.
Est-ce que quelqu'un comprend pourquoi, ou comment il peut être résolu pour fournir une approche alternative au problème du PO?
J'ai trouvé que seul un non administrateur peut le faire. Ajoutez non administrateur pour créer des liens symboliques et exécutez non administrateur. Vous devrez ajouter une personne avec des privilèges non administrateur. Ensuite, vous donnez la permission à la cible pour le non-administrateur, afin qu'il puisse faire le runas mklink.
Les solutions ci-dessus ne fonctionnaient pas pour moi car non seulement je ne pouvais pas créer un utilisateur "invité" sur ma machine, mais je ne pouvais même pas demander à tous les utilisateurs de mes outils de le faire aussi sur leurs machines. Il n'est pas non plus raisonnable d'exiger qu'ils utilisent des consoles d'administrateur.
Ma solution est d'utiliser: elevate.cmd et elevate.vbs
elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"
Cons: elevate.cmd retourne immédiatement, mais répondre à la boîte de dialogue UAC prend du temps. Cela m'a obligé à ajouter un message "Avez-vous déjà accepté le dialogue UAC?" question à mon script. Il est possible d'ignorer "elevate.cmd" en vérifiant le code de sortie de la commande suivante: whoami /groups | find "S-1-16-12288"
(le code de sortie 0 signifie que vous disposez d'une console de l'administrateur).
Nous sommes tombés sur ce problème aujourd'hui également. J'ai eu une tâche de construction NAnt essayant de créer des liens symboliques sur un ordinateur. A été rejeté pour manque de privilèges. J'ai trouvé ce post qui m'a aidé à résoudre mon problème: http://josh.mainelan.net/tag/mklink/ .
La section pertinente:
- Affichez votre boîte d'exécution, tapez «secpol.msc», puis cliquez sur OK.
- Naviguez dans le dossier Paramètres de sécurité\Stratégies locales\Attribution des droits utilisateur.
- Recherchez "Créer des liens symboliques" et ajoutez-y le groupe Utilisateurs.
Je pense que vous devez redémarrer votre ordinateur ou quelque chose après cela.
Exécutez la commande Invite en tant qu'administrateur pour exécuter cette commande.
Tapez cmd (ou commande) dans le menu Démarrer, cliquez dessus avec le bouton droit de la souris et choisissez "Exécuter en tant qu'administrateur".
Désormais, toute commande que vous exécuterez sera exécutée avec les privilèges d'administrateur.