Privilégio ausente no token "filtrado"
Desabilite o UAC. Ou com o UAC ativado: depois de ativar SECreateSymbolicLinkPrivilege
, tente com uma conta não administrador .
Explicação
É pegar 17. De como eu li a documentação do MS.
Se você tiver um grupo de administradores conhecido na lista negra em sua conta de usuário, um segundo token não elevado será criado.
O SeCreateSymbolicLinkPrivilege
relevante é filtrado quando o token não elevado é gerado a partir do token elevado.
Do MSDN: isolamento de privilégios de interface de usuário (UIPI) :
Windows will create two access tokens for the user if either of the following is true: The user's account contains any of the following RIDs.
DOMAIN_GROUP_RID_ADMINS
[...]
What privileges the filtered token contain are based on whether the original token contained any of the restricted RIDS listed above. If any of the restricted RIDs were in the token, all of the privileges are removed except:
SeChangeNotifyPrivilege
SeShutdownPrivilege
SeUndockPrivilege
SeReserveProcessorPrivilege
SeTimeZonePrivilege
Portanto, a solução é desativar totalmente a segunda geração de tokens. Quer removendo todos os grupos mencionados da sua conta ou desativando completamente o UAC.
(Aviso: Paul Betts fez o trabalho. Acabei de adicionar alguns detalhes. Veja a resposta dele aqui: link )