Mam nadzieję, że ktoś może mnie poprawić, gdy popełniam błąd podczas próby utworzenia dowiązania symbolicznego w systemie Windows 8.1 bez konieczności uruchamiania cmd.exe jako administratora.
Ilekroć próbuję utworzyć dowiązanie symboliczne ze zwykłego wiersza polecenia, otrzymuję zwykłą odpowiedź uprawnień ...
C:\Users\MyUser>mklink symlink.txt mytextfile.txt
You do not have sufficient privilege to perform this operation.
... i działa z poziomu wiersza polecenia administratora (zgodnie z oczekiwaniami) ...
C:\Users\MyUser>mklink symlink.txt mytextfile.txt
symbolic link created for symlink.txt <<===>> mytextfile.txt
Jednak nie wygląda na to, że jakakolwiek zwykła poprawka działa w systemie Windows 8.1 (przynajmniej poprawki, które mogłam znaleźć).
Próbowałem postępować zgodnie z odpowiedzią na pytanie Jak utworzyć łącze w systemie Windows 7 Home Premium jako zwykły użytkownik? , ale wydaje się, że nie ma żadnego efektu.
Mam również UAC ustawiony na najniższym poziomie.
Czy coś jeszcze mi brakuje?
źródło
Odpowiedzi:
Brak uprawnień w tokenie „filtrowanym”
Wyłącz UAC. Lub z włączonym UAC: po włączeniu
SECreateSymbolicLinkPrivilege
spróbuj z kontem innym niż administrator .Wyjaśnienie
Jest złapać 17. Z tego, jak czytam dokumentację MS.
Jeśli masz na czarnej liście dobrze znaną grupę administracyjną na swoim koncie użytkownika, tworzony jest drugi, nieużywany token.
Odpowiedni
SeCreateSymbolicLinkPrivilege
jest filtrowany, gdy nie podniesiony token jest generowany z podniesionego tokena.Z MSDN: izolacja uprawnień interfejsu użytkownika (UIPI) :
Rozwiązaniem jest więc całkowite wyłączenie generowania drugiego tokena. Albo usuwając wszystkie wymienione grupy z konta, albo całkowicie wyłączając UAC.
(Oświadczenie: Paul Betts wykonał pracę. Właśnie dodałem trochę szczegółów. Zobacz jego odpowiedź tutaj: /programming/15320550/secreatesymboliclinkprivilege-ignored-on-windows-8 )
źródło