บรรทัดคำสั่งเพื่อเข้าถึงโฟลเดอร์อย่างถาวร


13

อัปเดต ในขณะที่ฉันสามารถใช้วิธีการที่อธิบายไว้ในคำตอบที่ยอมรับได้เมื่อมันล้มเหลวเป็นครั้งที่สองหรือแค่ให้ปัญหามากเกินไป

ค้นหาเพิ่มเติมฉันพบSetACLโดย Helge Klein ซึ่งเหนือกว่ามากและทำสิ่งที่ต้องการ


c:\Program Files\WindowsAppsฉันไม่สามารถเข้าถึงโฟลเดอร์บางอย่างเช่น ผ่านทางบรรทัดคำสั่งฉันได้รับข้อผิดพลาดของ " การเข้าถึงถูกปฏิเสธ " และผ่านทาง Windows Explorer ฉันได้รับป๊อปอัพกล่องโต้ตอบที่ระบุว่า " คุณไม่ได้รับอนุญาตให้เข้าถึงโฟลเดอร์นี้ "

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

การคลิกที่ดำเนินการต่อทำให้ฉันเข้าถึงได้ แต่ฉันต้องการให้สิทธิ์การเข้าถึงของตัวเองโดยใช้บรรทัดคำสั่ง เพื่อให้สคริปต์ของฉันไม่ทำงานในปัญหานี้ที่ทำงานภายใต้บริบทความปลอดภัยเดียวกัน

ฉันพบคำถามนี้ใน Microsoft Technet แต่ฉันไม่สามารถทำงานได้ โปรดทราบว่าฉันใช้ Powershell ในฐานะผู้ดูแลระบบอยู่แล้ว

PS C:\WINDOWS\system32> icacls "C:\Program Files\WindowsApps" /grant i063510:F /inheritance:e
C:\Program Files\WindowsApps: Access is denied.
Successfully processed 0 files; Failed processing 1 files
PS C:\WINDOWS\system32> icacls "C:\Program Files" /grant i063510:F /inheritance:e
C:\Program Files: Access is denied.
Successfully processed 0 files; Failed processing 1 files

ถ้ามันเป็นเรื่องสำคัญผมใช้วินโดวส์ 10 ปรับรุ่นจาก Windows 8.1

คำตอบ:


12

ขณะนี้คุณไม่ได้รับอนุญาตให้เข้าถึงโฟลเดอร์นี้

ลองICACLSและ / หรือTAKEOWNด้วยไวยากรณ์ด้านล่างกับโฟลเดอร์ที่มีชื่อผู้ใช้ตามต้องการ

ลองใช้คำสั่ง ICACLS ก่อนเท่านั้นและหากยังไม่สามารถแก้ปัญหาได้ให้เรียกใช้คำสั่ง TAKEOWN แล้วเรียกใช้คำสั่ง ICACLSอีกครั้ง


คำสั่งICACLS

  • ให้สิทธิ์การควบคุมอย่างเต็มรูปแบบในการเข้าถึงโฟลเดอร์นี้แก่ทุกคนภายใต้โฟลเดอร์ย่อยและไฟล์ที่ปล่อยให้สิทธิ์ที่สืบทอดมาทั้งหมดเข้าที่และเกิดข้อผิดพลาดต่อไป

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r <UserName>:(F) /T /C
    
  • ให้สิทธิ์การแก้ไขอย่างชัดเจนในการเข้าถึงโฟลเดอร์นี้ภายใต้โฟลเดอร์ย่อยทั้งหมดและไฟล์ที่ปล่อยให้สิทธิ์ที่สืบทอดมาทั้งหมดเข้าแทนที่และเกิดข้อผิดพลาดต่อไป

    ICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(M) /T /C
    
  • เปลี่ยนเจ้าของโฟลเดอร์นี้และทั้งหมดภายใต้โฟลเดอร์ย่อยและไฟล์และดำเนินการต่อเนื่องจากข้อผิดพลาด

    ICACLS "<FolderPath>" /SETOWNER "<UserName>" /T /C
    

รับคำสั่ง

  • เรียกใช้สิ่งนี้เป็นบัญชีที่คุณต้องการให้สิทธิ์การเป็นเจ้าของและมันจะถูกเปลี่ยนเป็นเจ้าของโฟลเดอร์และใต้โฟลเดอร์ย่อยและไฟล์ทั้งหมด

    TAKEOWN /F "<FolderPath>" /R /D Y
    

ขอบคุณ ฉันต้องการหลีกเลี่ยง/TAKEOWN SETOWNERฉันสมมติว่ามันเปลี่ยนเจ้าของและ Windows Explorer จะกำหนดสิทธิ์เท่านั้น
ตัวแปรที่น่า

คุณช่วยยืนยันได้ไหมว่าICACLS "<FolderPath>" /INHERITANCE:e /GRANT:r "<UserName>":(OI)(CI)(X,M,F) /T /Cจะให้ผลลัพธ์ที่คาดหวังไว้หรือไม่ ฉันจะอัปเดตคำตอบของฉันพร้อมรายละเอียดเพิ่มเติมหากเป็นเช่นนั้น
Pimp Juice IT

คุณต้องเป็นเจ้าของโฟลเดอร์นั้นถ้าคุณต้องการสิทธิ์ไปยังโฟลเดอร์เฉพาะนั้นโฟลเดอร์อื่น ๆ คุณสามารถหลีกเลี่ยงการเป็นเจ้าของได้
Ramhound

สิ่งนี้ใช้ได้กับฉัน: ICACLS "C:\Program Files\WindowsApps" /INHERITANCE:e /GRANT:r i063510:F /T /C. ขอบคุณสำหรับความช่วยเหลือของคุณ. @ แรมฮาวด์ฉันไม่สามารถเข้าใจความคิดเห็นของคุณเมื่อฉันทำหรือไม่จำเป็นต้องเป็นเจ้าของ
ตัวแปรที่น่า

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