ฉันจะสร้างลิงค์ใน Windows 7 Home Premium ในฐานะผู้ใช้ทั่วไปได้อย่างไร [ซ้ำ]


69

คำถามนี้มีคำตอบอยู่ที่นี่แล้ว:

ฉันเป็นคนลินุกซ์และฉันก็หลงทางมากเมื่อฉันลองทำสิ่งต่าง ๆ ที่เป็น Windows ฉันพยายามสร้างลิงค์ต่อไปนี้:

mklink /d C:\backup\data \\myth\backup\data

แต่ฉันไม่มีสิทธิ์เพียงพอที่จะดำเนินการ preform นี้ ฉันจะได้รับสิทธิพิเศษอย่างเพียงพอใน Windows 7 ได้อย่างไร

UPDATE:

คลิกขวาที่ C: \ backup \ data และเปลี่ยนสิทธิ์การเข้าถึงแบบเต็มสำหรับผู้ใช้ที่ได้รับการรับรองความถูกต้องรีสตาร์ทเครื่องและลองคำสั่งอีกครั้งโดยไม่มีโชค ใครมีข้อเสนอแนะเพิ่มเติม?


ตรวจสอบให้แน่ใจว่า c: \ backup \ data ไม่มีอยู่เมื่อคุณพยายามสร้างลิงก์ในฐานะผู้ดูแลระบบ
David d C e Freitas

คำตอบ:


112

ตามที่ระบุไว้ที่นี่ ,

การสร้างลิงก์สัญลักษณ์จำเป็นต้องใช้ SeCreateSymbolicLinkPrivilege (“ สร้างลิงก์สัญลักษณ์”) ซึ่งจะให้แก่ผู้ดูแลระบบโดยค่าเริ่มต้นเท่านั้น (แต่คุณสามารถเปลี่ยนได้โดยใช้นโยบายความปลอดภัย)

ในการเปลี่ยนนโยบาย:

  1. คลิกขวาที่Start→ และการเปิดตัวRunsecpol.msc

  2. เปิดSecurity Settings → Local Policies → User Rights AssignmentและเลือกCreate symbolic links(ที่แสดงถึงSeCreateSymbolicLinkPrivilege)

ป้อนคำอธิบายรูปภาพที่นี่

  1. ดับเบิลคลิกที่รายการและเพิ่มตัวคุณเอง (หรือทั้งUsersกลุ่ม) ลงในรายการ

การเปลี่ยนแปลงจะมีผลเมื่อคุณออกจากระบบและลงชื่อเข้าใช้อีกครั้ง


2
โปรดทราบว่าใน Win7 กลุ่ม 'ผู้ใช้' ไม่ปรากฏให้ฉันเห็นจนกระทั่งจากกล่องโต้ตอบ "เลือกผู้ใช้หรือกลุ่ม" ฉันคลิกปุ่ม "ประเภทวัตถุ" และเพิ่ม 'กลุ่ม'
Jonathan Hartley

7
สิ่งนี้ไม่ได้ผลสำหรับฉันไม่ว่าฉันจะเพิ่มผู้ใช้ "ผู้ใช้" หรือ "ทุกคน" ฉันออกจากระบบและเริ่มระบบใหม่ แต่ใน dir บ้านของฉันคำสั่ง "mklink / D docs Dropbox" ยังคงให้ฉัน "คุณไม่มีสิทธิ์เพียงพอที่จะดำเนินการนี้" ผลลัพธ์เดียวกันถ้าฉันลองใช้ไฟล์แทนที่จะเป็นไดเรกทอรี
Jonathan Hartley

3
ปัญหาของฉันแก้ไขโดยคำตอบของ Brandon Donnelson: นอกเหนือจากข้างต้นผู้ใช้ที่เรียกใช้ "mklink" ไม่สามารถเป็นผู้ดูแลระบบได้
Jonathan Hartley

@ Jonathan ไม่ได้ผลสำหรับฉัน และดูเหมือนว่าโง่หรือบางทีฉันอาจเข้าใจผิด Windows 7 ไม่อนุญาตให้ผู้ดูแลระบบสร้างลิงก์สัญลักษณ์ แต่เฉพาะผู้ที่ไม่ใช่ผู้ดูแลระบบหลังจากผู้ดูแลระบบมอบสิทธิพิเศษให้แก่พวกเขา ???
Ben

4
@Ben ฉันเห็นด้วยมันดูเหมือนว่าเป็นคนบ้า ในการไตร่ตรองฉันคิดว่าฉันแก้ปัญหาด้วยการเรียกใช้หน้าต่าง 'cmd' โดยคลิกขวาและเลือก 'run as admin' มีคนอธิบายกับฉันว่าเมื่อเปิดใช้งานกระบวนการ Windows จะตัดสิทธิ์ส่วนบุคคลของผู้ดูแลระบบออกจากระบบเว้นแต่คุณจะเลือก 'เรียกใช้ในฐานะผู้ดูแลระบบ' ณ จุดนี้หากคุณไม่ได้เป็นผู้ดูแลคุณต้องป้อนรหัสผ่านผู้ดูแลระบบ หากคุณเป็นผู้ดูแลระบบอยู่แล้วคุณไม่จำเป็นต้องป้อนอะไรเลย บางทีนั่นอาจทำให้ฉันสามารถเรียกใช้ 'mklink' จากภายในหน้าต่างคำสั่ง
โจนาธานฮาร์ทลี่ย์

19

ฉันเพิ่งค้นพบว่าฉันสามารถสร้าง 'ทางแยก' แม้ว่าฉันไม่สามารถสร้าง symlink ได้:

mklink [/D] /J junctionname filename

โดยที่ / J ระบุว่า 'สร้างทางแยก' และ / D คือฉันเชื่อว่าถ้าไฟล์ที่ระบุชื่อเป็นไดเรกทอรี (ปัจจุบันผู้ใช้ของฉันเป็นผู้ดูแลระบบ)

อย่างไรก็ตามทางแยกไปยังไฟล์ 'bat' ดูเหมือนจะไม่สามารถใช้งานได้ดังนั้นจึงไม่มีประโยชน์ใด ๆ

ไม่มีใครเข้าใจว่าทำไมสิ่งนี้ถึงเกิดขึ้นได้อย่างไรหรือจะแก้ไขได้อย่างไรเพื่อให้แนวทางอื่นในการแก้ไขปัญหา OP


11
คุณสามารถสร้างฮาร์ดลิงก์ ( mklink /H) โดยไม่มีสิทธิ์ของผู้ดูแลระบบและจะสามารถใช้งานได้ ฮาร์ดลิงก์ใช้สำหรับไฟล์ junctions ใช้สำหรับไดเรกทอรี/Dsymlink สำหรับทั้งคู่ (และใช้เพื่อระบุว่า symlink ใช้สำหรับไดเรกทอรี)
Brilliand

3
Junctions และ hardlinks นั้นไร้ประโยชน์ทั้งสำหรับตัวอย่างใน OP แม้ว่าจะไม่สามารถชี้ไปที่ไดรฟ์เครือข่ายได้ (ฮาร์ดลิงก์นั้น จำกัด อยู่ที่พาร์ติชันเดียวกัน เพียง symlink หรือทางลัดของ Windows สามารถทำได้
Brilliand

12

ฉันพบเพียงผู้ดูแลระบบที่ไม่สามารถทำได้ เพิ่มผู้ดูแลระบบที่ไม่ใช่เพื่อสร้างลิงก์สัญลักษณ์และ runas ไม่ใช่ผู้ดูแล คุณจะต้องเพิ่มบุคคลที่ไม่มีสิทธิ์ระดับผู้ดูแลระบบ จากนั้นคุณให้สิทธิ์กับเป้าหมายสำหรับผู้ดูแลระบบที่ไม่ใช่เพื่อให้เขาสามารถทำ runas mklink


1
นี่เป็นการแก้ไขปัญหาทั้งหมดของฉัน: ผู้ใช้ของฉันเป็นผู้ดูแลระบบ แต่ "mklink" จะไม่ทำงานจนกว่าฉันจะเปิดใช้งานบัญชี "แขก" เรียกว่า "runas / ผู้ใช้: guest cmd" แล้วเรียกใช้ mklink จากเซสชัน cmd ใหม่นั้น นอกจากนี้ยังต้องให้สิทธิ์ชั่วคราวเพื่อให้บัญชีผู้ใช้สามารถ cd เข้าและแก้ไขโฮมไดเร็กตอรี่ของฉัน, ที่ฉันต้องการ symlink, ซึ่งทำให้เกิดการโต้ตอบข้อผิดพลาดที่วุ่นวาย
Jonathan Hartley

สำหรับเร็กคอร์ด "mklink" ไม่ทำงานสำหรับผู้ใช้ปกติของฉันซึ่งเป็นผู้ดูแลระบบ แต่จะทำงานเมื่อเปิดจาก cmd ซึ่งเป็น "runas / user: guest cmd" (ฉันไม่สามารถหาคำพูดที่ต้องการได้ เพื่อเรียกใช้คำสั่ง mklink โดยตรงในฐานะแขกของผู้ใช้) หรือเมื่อฉันลบบัญชีของตัวเองออกจากกลุ่ม 'ผู้ดูแลระบบ'
Jonathan Hartley

3
นอกจากนี้ยังเป็นที่น่าสังเกตว่ามันเป็นไปได้ที่จะเรียกใช้ mklink ประสบความสำเร็จกับบัญชีที่มีสิทธิ์ผู้ดูแลระบบ แต่ต้องปิด UAC
Vladimir Sizikov

2

การแก้ปัญหาข้างต้นไม่ได้ผลสำหรับฉันเพราะไม่เพียง แต่ฉันจะไม่สามารถสร้างผู้ใช้ "แขก" บนเครื่องของฉันฉันไม่สามารถขอให้ผู้ใช้เครื่องมือทั้งหมดของฉันทำเช่นนั้นบนเครื่องของพวกเขา และไม่เหมาะสมที่จะต้องใช้คอนโซลผู้ดูแลระบบ

โซลูชันของฉันคือการใช้: elevate.cmd และ elevate.vbs

  1. ดาวน์โหลดจาก: http://technet.microsoft.com/en-us/magazine/2008.06.elevation.aspx
  2. วางสองไฟล์เหล่านี้ไว้บนพา ธ ระบบของคุณ (หรือที่ใดที่หนึ่งบนเครือข่าย)
  3. elevate.cmd cmd /c "cd /d LINK_DIR && mklink /D LINK_NAME LINK_TARGET_PATH"

จุดด้อย: elevate.cmd กลับมาทันที แต่การตอบกลับโต้ตอบ UAC นั้นต้องใช้เวลา สิ่งนี้บังคับให้ฉันเพิ่ม "คุณตกลงกับ UAC หรือยัง" คำถามกับสคริปต์ของฉัน เป็นไปได้ที่จะข้าม "elevate.cmd" โดยการตรวจสอบรหัสทางออกสำหรับคำสั่งต่อไปนี้: whoami /groups | find "S-1-16-12288"(รหัสทางออก 0 หมายความว่าคุณมีคอนโซลผู้ดูแลระบบ)


2

มาข้ามปัญหานี้วันนี้เช่นกัน ฉันมีงานสร้าง NAnt ที่พยายามสร้างลิงก์สัญลักษณ์บนคอมพิวเตอร์ กำลังถูกปฏิเสธเนื่องจากขาดสิทธิ์พิเศษ ผมพบว่าโพสต์นี้ซึ่งจะช่วยแก้ปัญหาของฉัน: http://josh.mainelan.net/tag/mklink/

ส่วนที่เกี่ยวข้อง:

  1. เปิดกล่องวิ่งขึ้นมาพิมพ์“ secpol.msc” แล้วคลิกตกลง
  2. นำทางภายใต้โฟลเดอร์การตั้งค่า Security \ Local Policies \ User Security
  3. ค้นหา "สร้างลิงก์สัญลักษณ์" และเพิ่มกลุ่มผู้ใช้ลงใน

ฉันคิดว่าคุณต้องรีสตาร์ทคอมพิวเตอร์หรือหลังจากทำสิ่งนี้แล้ว


1

เรียกใช้พรอมต์คำสั่งในฐานะผู้ดูแลระบบเพื่อดำเนินการคำสั่งนี้

พิมพ์ cmd (หรือคำสั่ง) ในเมนูเริ่มและคลิกขวาแล้วเลือก "เรียกใช้ในฐานะผู้ดูแลระบบ"

ตอนนี้คำสั่งใด ๆ ที่คุณดำเนินการจะถูกดำเนินการด้วยสิทธิ์ผู้ดูแลระบบ


ตามที่คนอื่น ๆ ได้กล่าวถึง SeCreateSymbolicLinkPrivilege เป็นสิ่งที่จำเป็น อย่างไรก็ตามแม้ว่าคุณจะเป็นผู้ดูแลระบบใน Windows 7 โปรแกรมส่วนใหญ่จะไม่สามารถทำงานด้วยสิทธิ์ระดับผู้ดูแลระบบได้ ในการรับสิทธิพิเศษระดับผู้ดูแลระบบสำหรับโปรแกรมให้ทำตามขั้นตอนที่กล่าวไว้ข้างต้น
teknikqa

ฉันคิดว่าเขารู้เกี่ยวกับการทำงานในฐานะผู้ดูแลระบบนั่นคือสาเหตุที่เขาถามคำถาม
barlop

-5

ผมอยากแนะนำที่ดีที่สุดของ Windows Tweaker ใช้เพื่อเลือก "แสดงความเป็นเจ้าของ" เพื่อแก้ไขปัญหาการอนุญาตและ "แสดงหน้าต่างคำสั่งเปิดที่นี่" เพื่อเปิดพรอมต์คำสั่งที่โฟลเดอร์ที่ถูกต้อง

ข้อความแสดงแทน


ติดตั้งเปิด explorer และคลิกขวาบนโฟลเดอร์ที่จะเชื่อมโยงและ "เอาความเป็นเจ้าของ" จากนั้นเปิดหน้าต่างคำสั่งจากที่นี่ เรียกใช้คำสั่ง mklink ข้างต้นและได้รับข้อผิดพลาดเดียวกันอีกครั้ง
stephenmm

เยี่ยมมากคุ้มค่าที่จะลอง ในฐานะผู้ใช้ Windows ล่าสุด -> ผู้ใช้ Linux ฉันสามารถเห็นอกเห็นใจอย่างเต็มที่เกี่ยวกับสิ่งที่ไม่ทำงานและไม่รู้ว่าทำไม โชคดี.
Outsideblasts

5
กระแทกแดกดันไม่ได้เป็นเจ้าของหรือแสดงพรอมต์คำสั่งให้สิทธิ์ผู้ดูแลระบบแก่คุณ เหมือนกับใน Linux
surfasb

-1 ลองใช้ด้วยตัวเองก่อนโพสต์จากนั้นคุณจะเห็นว่ามันใช้งานไม่ได้
barlop
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.