Bagaimana saya bisa membuat tautan simbolis di Windows 8.1 tanpa prompt perintah admin?

8

Saya berharap seseorang dapat memperbaiki saya di tempat saya salah ketika mencoba membuat tautan simbolis di Windows 8.1 tanpa harus menjalankan cmd.exe sebagai administrator.

Setiap kali saya mencoba membuat symlink dari prompt perintah biasa, saya mendapatkan respons izin biasa ...

C:\Users\MyUser>mklink symlink.txt mytextfile.txt
You do not have sufficient privilege to perform this operation.

... dan berfungsi dari prompt perintah admin (seperti yang diharapkan) ...

C:\Users\MyUser>mklink symlink.txt mytextfile.txt
symbolic link created for symlink.txt <<===>> mytextfile.txt

Namun, tampaknya tidak ada perbaikan biasa yang bekerja di Windows 8.1 (setidaknya, perbaikan yang bisa saya temukan).

Saya sudah mencoba mengikuti jawaban untuk Bagaimana cara membuat tautan di Windows 7 home premium sebagai pengguna biasa? , tetapi tampaknya tidak berpengaruh.

Saya juga telah mengatur UAC ke level terendah.

Apakah ada hal lain yang saya lewatkan?

Karl Nicoll
sumber
2
Ini kesalahan UAC. Lihat jawaban oleh "Paul Betts" di sini: stackoverflow.com/questions/15320550/…
StackzOfZtuff
@StackzOfZtuff - Yah, itu menyebalkan. Terima kasih untuk tautannya, sepertinya saya harus memilih antara UAC dan tidak ada aplikasi Metro. Saya rasa saya tidak akan pernah mengerti apa yang coba dilakukan Microsoft dengan UAC.
Karl Nicoll

Jawaban:

9

Hak istimewa tidak ada dalam token "yang difilter"

Nonaktifkan UAC. Atau dengan UAC diaktifkan: setelah mengaktifkan SECreateSymbolicLinkPrivilegecoba dengan akun non-admin .

Penjelasan
Ini menangkap 17. Dari cara saya membaca dokumentasi MS.

Jika Anda memiliki grup admin terkenal yang masuk daftar hitam di akun pengguna Anda, maka token kedua, yang tidak ditinggikan, dibuat.

Yang relevan SeCreateSymbolicLinkPrivilegedisaring ketika token yang tidak ditinggikan dihasilkan dari token yang ditinggikan.

Dari MSDN: Isolasi Antarmuka Pengguna (UIPI) :

Windows akan membuat dua token akses untuk pengguna jika salah satu dari berikut ini benar: Akun pengguna berisi salah satu RID berikut.
DOMAIN_GROUP_RID_ADMINS
[...]
Hak istimewa apa yang berisi token yang difilter didasarkan pada apakah token asli berisi RIDS terbatas yang tercantum di atas. Jika salah satu RID terbatas ada di token, semua hak istimewa dihapus kecuali:
SeChangeNotifyPrivilege
SeShutdownPrivilege
SeUndockPrivilege
SeReserveProcessorPrivilege
SeTimeZonePrivilege

Jadi solusinya adalah menonaktifkan generasi token kedua sekaligus. Baik dengan menghapus semua grup yang disebutkan dari akun Anda, atau dengan sepenuhnya menonaktifkan UAC.

(Penafian: Paul Betts melakukan pekerjaan. Saya baru saja menambahkan beberapa detail. Lihat jawabannya di sini: /programming/15320550/secreatesymboliclinkprivilege-ignored-on-windows-8 )

StackzOfZtuff
sumber