Mensagem de privilégios insuficientes no CMD quando conectado como administrador

36

Eu estava tentando usar o comando mklink no cmd (eu tenho o Windows 7) Eu estava conectado como administrador, mas recebi a mensagem "você não tem privilégio suficiente para executar esta operação". Eu usei o mesmo comando no Vista, funcionou bem. Alguma idéia de por que não funciona no Winows 7?

ToZo99
fonte

Respostas:

30

Tente executar explicitamente o shell do cmd como administrador . Se isso não ajudar, tente o comando runas .

runas /user:administrator "mklink args"

Citações entre o comando mklink e seus argumentos são obrigatórios.

Michael Pryor
fonte
19
Os links simbólicos são muito perigosos para um usuário normal. RI MUITO. Eu gostaria de entender as considerações por trás disso. :-(
Notinlist 14/04
11
Meu usuário é um administrador (não há usuário chamado "administrador" nesta máquina.), Mas ainda recebo "Você não tem privilégios suficientes para executar esta operação".
27675 Jonathan
4
Essa resposta, embora seja um conselho útil no caso geral, parece ser exatamente o oposto do comportamento que estou observando: o mklink só funciona para mim quando meu usuário não é administrador. Intrigante.
Jonathan Hartley
o que fazer se você não tiver uma senha de login? ele está pedindo para um e se eu deixar em branco ele me diz erro de senha em branco ...
eCoE
então, depois de descobrir que o winblows quebrou a sintaxe 'cd' de anos e anos para cd / D, você pode digitar a sintaxe mklink na horrível engenhoca chamada 'cmd.exe' para descobrir que não tem privilégios que tinha para executar como administrador primeiro. Administrador de sistemas Winblows, o horror aaargh.
Michael Trouw
16

digite CMD, você verá CMD.exe na lista no menu Iniciar.

Clique com o botão direito do mouse e selecione "Executar como Administrador"

Eric Yin
fonte
14

Em resposta a isso não funcionar para contas de administrador, acredito que a configuração do suporte a links simbólicos no Win7 é relevante.

Depois de conceder a “Todos” o privilégio “Criar link simbólico”, reinicie (ou faça logoff) e efetue login como usuário padrão, um usuário que NÃO é membro do grupo “Administradores”. Você deve conseguir criar um link simbólico usando o comando mklink em um diretório em que o usuário tem permissões de gravação.

A razão pela qual um membro de "Administradores" não pode criar um link simbólico é porque o privilégio "Criar link simbólico" foi removido do token filtrado, pois o usuário é membro do grupo "Administradores". A seção “Acessar alterações de token” do artigo no link http://msdn.microsoft.com/en-us/library/bb530410.aspx descreve em mais detalhes como o token filtrado é criado.

Mike
fonte
8
Por que a Microsoft sempre estraga tudo?
CoDEmanX
@CoDEmanX, its complicada :) #
1925 alpha_989
Espere, então ... onde alguém define essas permissões de gravação? Os artigos vinculados não são exatamente os mais claros para se ler.
Mike 'Pomax' Kamermans 22/10
9

Primeiro, verifique se você concedeu a permissão "Criar links simbólicos" para os usuários relevantes, conforme detalhado aqui: https://superuser.com/a/125981/57697

Estranhamente, o comando "mklink" não funcionará para mim se meu usuário for um administrador. Dá "Você não tem privilégios suficientes para executar esta operação."

Para fazê-lo funcionar, preciso remover meu usuário do grupo de administradores ou executar o mklink a partir de um cmd que foi executado como um usuário não administrador, como convidado:

   runas /user:guest cmd

(ative a conta de convidado se ainda não estiver)

Usando esse último método, você também precisará conceder temporariamente permissões para 'guest' para modificar o local em que está criando o link simbólico, que no meu caso era meu diretório pessoal, causando uma enxurrada de diálogos de erro, mas eles pareciam inofensivos .

Jonathan Hartley
fonte
Parece não funcionar (culpo a Microsoft). O runascomando solicita a senha do usuário especificado, mesmo se a conta não tiver uma. Se você deixar em branco (pressione enter), ocorrerá um erro. Se a conta tiver uma senha e você a digitar, terminarei com the system cannot find the file specified. Iniciando um cmd como administrador, navegando para a dir-alvo e criar a ligação simbólica com a sua própria conta de repente aparece tão fácil ...
CoDEmanX
4

Se, por algum motivo, você não puder elevar sua conta a um administrador (por exemplo, você estiver em um computador comercial) e estiver tentando vincular um diretório, tente criar uma junção em vez de um link físico / físico. A pasta de origem pode ser absoluta ou relativa.

mklink /J linkedfolder sourcefolder
hughes
fonte
11
Obrigado. Isso funcionou para mim, pois eu não tenho admin no meu PC de trabalho e precisava vincular diretórios cygwin e diretórios do windows.
dukevin
0

Verifique se o serviço "logon secundário" não está desativado.

surfasb
fonte
8
Como superusuário altamente valorizado, sugiro que você revise esta resposta e adicione mais detalhes .
James Mertz
-3

Se não estiver instalado, instale o Microsoft.net framework 2.0 ou os service packs que o acompanham. Funcionou para mim!

Jukmister
fonte