Esta pergunta já tem uma resposta aqui:
Eu sou um cara Linux e, como tal, estou muito perdido quando tento fazer qualquer coisa é o Windows. Estou tentando criar o seguinte link:
mklink /d C:\backup\data \\myth\backup\data
Mas não tenho privilégios suficientes para pré-executar esta operação. Como obtenho privilégios suficientes no Windows 7?
ATUALIZAR:
Clique com o botão direito do mouse em C: \ backup \ data e altere as permissões para acesso total ao usuário autenticado, reinicie a máquina e tentei o comando novamente sem sorte. Alguém tem mais alguma sugestão?
windows-7
symbolic-link
mklink
stephenmm
fonte
fonte
Respostas:
Como indicado aqui ,
Para alterar as políticas:
Clique com o botão direito em
Start
→Run
e iniciesecpol.msc
.Abra
Security Settings → Local Policies → User Rights Assignment
e selecioneCreate symbolic links
(que representaSeCreateSymbolicLinkPrivilege
).Users
grupo) à lista.As alterações serão aplicadas quando você sair e efetuar login novamente.
fonte
Acabei de descobrir que posso criar uma 'junção' mesmo quando não consigo criar um link simbólico:
onde / J indica 'criar uma junção', e o / D é, acredito, se o arquivo nomeado for um diretório. (meu usuário é atualmente um administrador)
No entanto, uma junção a um arquivo 'bat' não parece ser executável; portanto, isso não serve para nada.
Alguém entende por que isso é ou como pode ser corrigido para fornecer uma abordagem alternativa ao problema do OP?
fonte
mklink /H
) sem privilégios de administrador, e isso será executável. Links físicos são para arquivos, junções são para diretórios, links simbólicos são para ambos (e/D
são usados para indicar que um link simbólico é para um diretório).Eu descobri que apenas um não administrador pode fazer isso. Adicione não administrador para criar links simbólicos e execute como não administrador. Você precisará adicionar uma pessoa com privilégios de não administrador. Então você dá permissão ao alvo para o não administrador, para que ele possa executar o runas mklink.
fonte
As soluções acima não funcionaram para mim porque não só não consegui criar um usuário "convidado" em minha máquina, como também não posso pedir a todos os usuários de minhas ferramentas que o façam também em suas máquinas. Também não é razoável exigir que eles usem consoles de administrador.
Minha solução é usar: elevate.cmd e elevate.vbs
elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"
Contras: elevate.cmd retorna imediatamente, mas responder à caixa de diálogo do UAC leva tempo. Isso me forçou a adicionar um "você já aceitou a caixa de diálogo do UAC?" pergunta para o meu script. É possível pular "elevate.cmd" verificando o código de saída para o seguinte comando:
whoami /groups | find "S-1-16-12288"
(código de saída 0 significa que você tem um console do Adminstrator).fonte
Também me deparei com esse problema hoje. Eu tive uma tarefa de compilação do NAnt tentando criar links simbólicos em um computador. Estava sendo rejeitado por falta de privilégios. Encontrei este post que ajudou a resolver meu problema: http://josh.mainelan.net/tag/mklink/ .
A seção relevante:
Eu acho que você precisa reiniciar o computador ou algo assim depois de fazer isso.
fonte
Execute o prompt de comando como administrador para executar este comando.
Digite cmd (ou comando) no menu Iniciar e clique com o botão direito do mouse e escolha "executar como administrador".
Agora, qualquer comando que você executar será executado com privilégios de administrador.
fonte
Eu recomendaria o Ultimate Windows Tweaker . Use-o para selecionar "Mostrar propriedade de posse" para contornar o problema de permissões e "Mostrar janela de comando aberta aqui" para abrir o prompt de comando na pasta correta.
fonte