Esta pergunta já tem uma resposta aqui:
Meu diretório pessoal é c: \ Users \ phi como phi de usuário e eu criei um diretório em c: \ Users \ abc. Eu preciso do link simbólico de c: \ Users \ phi \ hello para c: \ Users \ abc \ hello.
Eu executo o seguinte comando
mklink c: \ Usuários \ abc \ hello c: \ Usuários \ phi \ hello
Mas recebo o erro Acesso negado . A phi do usuário é Administradora, portanto, não tenho problemas em gravar arquivos em c: \ Users \ abc.
Por que é isso? Como mklink?
SeCreateSymbolicLinkPrivilege
), enquanto que para usuários administrativos você precisa elevar com executar como administrador. Mas então é possível definir tambémSeCreateSymbolicLinkPrivilege
um usuário administrador e evitar a necessidade de elevar com executar como administrador? Esta pergunta: stackoverflow.com/questions/29956470/… indica que, para usuários administrativos não precisarem elevar, o UAC deve estar desativado.Encontrei uma resposta deste site . Em suma, eu deveria ter executado o cmd.exe como administrador.
fonte
Observe que o mesmo erro será apresentado quando você tentar criar junções em unidades mapeadas . Eu estava arrancando meu cabelo com isso até encontrar os exemplos desta página em Links rígidos e junções do MSDN .
Resposta curta: você só pode usar o mklink em volumes locais.
fonte
mklink
além dos volumes locais.mklink /d link_name \\server\share
funciona muito bem.No Windows 7 (e posterior), você precisa de um privilégio de segurança especial para criar links e junções. Como administrador, você pode conceder essa permissão aos usuários usando
secpol.msc
para definirLocal Policies\User Rights Assignment\Create symbolic links
.Se o usuário estiver conectado no momento, precisará fazer logoff e logon novamente para poder criar links.
Observe o cuidado de que os links podem expor os pontos fracos da segurança em alguns aplicativos - não pesquisei quais seriam esses pontos fracos.
fonte
Se você usa frequentemente o Linux, lembre-se de que os parâmetros são trocados no Windows.
Se você usar a ordem errada, também receberá um "Acesso negado". Porque você está tentando criar um link simbólico onde o original já existe.
Janelas:
mklink /D link original
Linux:
ln -s original link
fonte
Eu estava entendendo isso porque acidentalmente corri
mklink /D
contra um arquivo. O link não estava aparecendo no explorer, mas no Windows Explorer. Usando o prompt de comando, excluí o link do diretório inválido original e o recriei sem a/D
opçãoA propósito, eu estava recebendo o erro "Acesso negado", embora estivesse executando o cmd.exe como administrador.
fonte
Além de executar
mklink
como Administrador, você também deve ter permissões suficientes para a pasta de destino à qual está vinculando.fonte
Se você executar:
deve funcionar. No meu caso, o powershell e o cmd produziram a mesma saída. Para o PowerShell, você só precisa iniciar o comando com
fonte
mklink /D src tgt
vez disso.Isso pode parecer estranho, mas verifique se o arquivo ou pasta ainda não existe que você está tentando criar. Às vezes, é fácil ignorar no prompt do cmd.
fonte
Para diretórios você deve fazer:
fonte