ไม่สามารถลากไฟล์จาก Explorer ไปยัง Notepad ++ ที่ทำงานในฐานะผู้ดูแลระบบของ Windows 8


22

หากฉันมี Notepad ++ ทำงานในฐานะผู้ดูแลระบบฉันไม่สามารถลากไฟล์จาก explorer ไปยังมันได้ (พวกเขาจะถูกปฏิเสธด้วยเคอร์เซอร์ 'หยุด') และถ้าฉันพยายามใช้ส่วนขยาย explorer คลิกขวา 'แก้ไขด้วย Notepad ++' มันผิดพลาด .

การเปิดไฟล์โดยใช้กล่องโต้ตอบ 'เปิด' ของแผ่นจดบันทึก ++ หรือแม้แต่ดับเบิลคลิกที่ไฟล์ใน Explorer จะทำงานตามที่ควรจะเป็น (หมายเหตุการคลิกสองครั้งไม่ใช่วิธีแก้ปัญหาเนื่องจากไฟล์ที่ฉันต้องการเปิดน้อยมากเป็นค่าเริ่มต้นสำหรับ Notepad ++)

ฉันได้ตั้ง UAC เป็น 'ไม่แจ้งเตือน'

การใช้แฮ็คที่ 'โหมดการอนุมัติผู้ดูแลระบบ' ของ UAC ถูกปิดใช้งานจะแก้ไขปัญหาได้ แต่จะฆ่าความสามารถในการใช้แอพ Metro


เหตุใดคุณจึงเรียกใช้ Notepad ++ ในฐานะผู้ดูแลระบบ
kinokijuf

1
ฉันไม่ใด ๆ เพิ่มเติม แต่ในเวลาของคำถามมันก็จะสามารถแก้ไขไฟล์โฮสต์ (สิ่งที่ฉันไม่จำเป็นต้องสัมผัสบ่อยตอนนี้)
ลุค F

1
นอกจากนี้ยังทำงานเป็นผู้ดูแลระบบหลังจากอัปเดตปลั๊กอิน ฉันลงเอยที่นี่ก่อนแล้วก็ดูที่แถบหัวเรื่องหน้าต่าง ผู้ดูแลระบบ Yup การแก้ไข: เพิ่งเริ่มต้นใหม่
CAD bloke

คำตอบ:


31

กระบวนการที่มีความสมบูรณ์ต่ำกว่าไม่สามารถส่งต่อข้อความไปยังระดับที่สูงกว่าได้

คุณจะพบว่านี่เป็นกรณีสำหรับกระบวนการยกระดับใด ๆ ตั้งแต่ Windows Vista เป็นต้นไป

กระบวนการทำงานภายใต้โทเค็นการเข้าถึงความปลอดภัยและระดับความสมบูรณ์ Explorer จะทำงานภายใต้โทเค็นที่ถูก จำกัด ของบัญชีผู้ใช้ของคุณด้วยระดับความสมบูรณ์ปานกลางและเมื่อคุณยกระดับกระบวนการโดยเรียกใช้ในฐานะผู้ดูแลระบบจะใช้โทเค็นความปลอดภัยที่แตกต่างกันและไม่ จำกัด ด้วยระดับความสมบูรณ์สูง

ส่วนหนึ่งของการยกเครื่องรักษาความปลอดภัยที่มาพร้อมกับ Vista คือUser Interface Privilege Isolationซึ่งป้องกันกระบวนการระดับล่างจากการส่งข้อความไปยังระดับที่สูงกว่า (เพราะข้อความอาจเป็นอันตรายเช่นในกรณีของการโจมตีที่แตกสลาย)

ดังนั้นในกรณีนี้ Windows จะไม่อนุญาตให้ Explorer ส่งข้อความลากแล้วปล่อยไปที่ Notepad ++ (จริง ๆ แล้วจะส่งกลับ "สำเร็จ" แต่ส่งข้อความ)

สำหรับรายละเอียดเพิ่มเติมเกี่ยวกับโทเค็เข้าถึงระดับความซื่อสัตย์และ UIPI ดูการออกแบบกลไกของ Windows Integrity


7

หลุยส์อธิบายว่าทำไมคุณไม่สามารถลากจาก explorer ที่ไม่ใช่โหมดผู้ดูแลระบบไปยังโหมดผู้ดูแลระบบ Notepad ++ และ magicandre บอกคุณว่ารอบตัวมันด้วยการเรียกใช้ explorer ในโหมด admin

หลังจากประสบปัญหาคล้ายกันฉันต้องถามเพิ่มเติม: ทำไมคุณถึงเรียกใช้ Notepad ++ ในโหมดผู้ดูแลระบบในตอนแรก ในกรณีของฉันเป็นเพราะปลั๊กอิน HTML Tidy ที่ฉันชอบใช้ต้องอัปเดตไฟล์ cfg ในโฟลเดอร์ Program Files ของ Notepad ++ เพื่อให้ทำงานได้; และ Windows 8 มีไฟล์โปรแกรมถูกล็อคลงอย่างบ้าคลั่ง

ดังนั้นในที่สุดฉันก็ปลดล็อกโฟลเดอร์ Notepad ++ Program Files ตามที่ระบุไว้ที่นี่: http://forums.auran.com/trainz/entry.php?115-Removing-the-security-restrictions-from-a-folder-in-the -Program ไฟล์โฟลเดอร์

จากนั้นฉันก็สามารถรัน Notepad ++ ในฐานะผู้ใช้ปกติได้อย่างมีความสุขจากนั้นฉันสามารถลากและวางหรือใช้เมนูบริบทที่ใช้งานได้สะดวกอีกครั้งจาก explorer ที่ไม่ใช่โหมดผู้ดูแลระบบไปยัง Notepad ++ ที่ไม่ใช่โหมดผู้ดูแลระบบ

ฉันหวังว่าสิ่งนี้จะช่วยคุณในทางใดทางหนึ่ง


1
เมื่อฉันพบปัญหานี้เป็นคำตอบที่แท้จริงที่ฉันกำลังมองหา ฉันไม่รู้ว่าเกิดอะไรขึ้น แต่ NPP ไม่ได้เป็นเช่นนี้จนกระทั่งอัปเดตล่าสุดไม่กี่วันที่ผ่านมา
darkpbj

ในฐานะนักพัฒนาซอฟต์แวร์และผู้ดูแลระบบฉันมักจะต้องแก้ไขไฟล์ด้วยสิทธิ์ / ความเป็นเจ้าของที่แตกต่างกัน การเรียกใช้โปรแกรมแก้ไขของฉันในฐานะผู้ดูแลระบบนั้นสะดวกกว่าการแก้ไขสิทธิ์ก่อนและรีเซ็ตหลังจากนั้น
Alex McMillan


2

ในกรณีส่วนใหญ่ (ที่คุณมีการอ่าน - แต่ไม่สามารถเข้าถึงการเขียนในฐานะผู้ใช้ทั่วไป) มีวิธีที่ดีกว่าการใช้ Notepad ++ ในฐานะผู้ดูแลระบบ:

ติดตั้งปลั๊กอิน "บันทึกเป็นผู้ดูแลระบบ" (ดูตัวจัดการปลั๊กอิน Notepad ++)

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

ตอนนี้ทุกครั้งที่คุณพยายามบันทึกไฟล์ที่คุณไม่มีสิทธิ์เขียนปลั๊กอิน "บันทึกเป็นผู้ดูแลระบบ" จะยกระดับสิทธิ์ในการบันทึก ดังนั้นหากคุณดำเนินการคำสั่งบันทึกไดอะล็อก UAC จะปรากฏขึ้นและหากคุณเลือก "ใช่" ในกล่องโต้ตอบนั้นไฟล์นั้นจะถูกบันทึกโดยใช้สิทธิ์ผู้ดูแลระบบ


1

วิธีแก้ปัญหาอื่นคือใช้ Notepad ++ รุ่นสแตนด์อโลน (ซิป) แทนเวอร์ชันของตัวติดตั้ง

  1. ถอนการติดตั้ง / ลบ Notepad ++
  2. ไปที่หน้าดาวน์โหลด Notepad ++ และดาวน์โหลดแพ็คเกจ. zip หรือ. 7z (ไม่ใช่ exe)
  3. แตกไฟล์ของแพ็คเกจที่อยู่ในไดเรกทอรีผู้ใช้ของคุณ

ข้อเสียเปรียบในการแก้ไขปัญหานี้แน่นอนว่าคุณจะต้องสร้างทางลัดของคุณเองและอัปเดตโปรแกรมแก้ไขข้อความเริ่มต้นด้วยตนเองหากต้องการ และคุณจะไม่มีรายการเมนูบริบทสำหรับแผ่นจดบันทึกนอกจากว่าคุณแฮ็คมันด้วยตัวคุณเอง


0

การเปลี่ยนการอนุญาตสำหรับงานที่ยกระดับที่ติดตั้งโดยบริการตัวติดตั้งที่ยกระดับนั้นทำได้ยากที่สุด Windows 7 x64 ฉันใช้เส้นทางแนะนำ .. ฉันใช้'แผงควบคุม' โปรแกรมและคุณลักษณะเพื่อถอนการติดตั้ง Notepad ++

จากนั้นก็เดินไปที่ Notepad ++ เว็บไซต์และดาวน์โหลดมารุ่นซิปที่ไม่มีการติดตั้ง

จากนั้นใช้ Windows Explorer เพื่อแยกไฟล์ทั้งหมดไปยังเส้นทางC:\Program Files (x86)\Notepad++- เหมือนกับเส้นทางตัวติดตั้งดั้งเดิม

จากนั้นฉันสร้างกลุ่มโฟลเดอร์ในส่วนโปรแกรมทั้งหมดของเมนูเริ่ม

  • คลิกเมนูเริ่ม
  • คลิกขวาที่โปรแกรมทั้งหมด
  • เปิดผู้ใช้ทั้งหมด
  • คลิกโปรแกรม
  • คลิกขวาใหม่»โฟลเดอร์ป้อนNotepad++

จากนั้นผมใช้หน้าต่าง Explorer ที่อื่นเพื่อสร้างทางลัดไปยังnotepad++.exeแล้วลากและลดลงทางลัดที่เข้าสู่C:\ProgramData\Microsoft\Windows\Start Menu\Programs\Notepad++, ตอบโฟลเดอร์ปลายทางปฏิเสธการเข้าถึงกล่องโต้ตอบกับดำเนินการต่อ

ถัดไปปิดการใช้งานฟังก์ชั่น AutoUpdate สำหรับปลั๊กอินบน Notepad ++ เช่นซอฟต์แวร์ส่วนใหญ่ในปัจจุบัน "อัปเดต" มักจะเป็น "ศัตรู" และมีระดับความเสี่ยงที่แท้จริง สำหรับแอปพลิเคชันฉันต้องการทราบเมื่อมีการอัพเดทเกิดขึ้น .. ไม่ใช่บริการจึงมีความเสี่ยงที่จะเชื่อถือนักพัฒนาซอฟต์แวร์เพื่อทดสอบรหัสของพวกเขา

ผู้จัดการไป»ปลั๊กอิน»ปลั๊กอิน»แสดงปลั๊กอิน»การตั้งค่า (ลดมุมซ้าย) มียกเลิกการเลือกแจ้งการปรับปรุงของปลั๊กอินที่เริ่มต้น

ตอนนี้ฉันสามารถลากแล้วปล่อยอีกครั้ง

ตอนนี้กระบวนการ Notepad ++ จะไม่ถูกเรียกใช้เนื่องจากงานที่ยกระดับและแอปพลิเคชันอื่น ๆ เช่น Explorer ได้รับอนุญาตให้ลากและวางไฟล์บนหน้าต่างโปรแกรม Notepad ++ ที่เปิดอยู่เพื่อเปิด

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