ทำไม PowerShell ถึงไม่สามารถอัปเดตไดเรกทอรีของตัวเองได้


1

เหตุใด PowerShell จึงไม่สามารถเข้าถึงไดเรกทอรีความช่วยเหลือของตนเองได้

PS C:\WINDOWS\system32> Update-Help
Update-Help : Failed to update Help for the module(s) 'Microsoft.PowerShell.Operation.Validation' with UI culture(s) {en-US} : Access to the path 'C:\Program
Files\WindowsPowerShell\Modules\Microsoft.PowerShell.Operation.Validation\1.0.1\en-US' is denied.
At line:1 char:1
+ Update-Help
+ ~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [Update-Help], Exception
    + FullyQualifiedErrorId : UnknownErrorId,Microsoft.PowerShell.Commands.UpdateHelpCommand

นี่คือ Windows 10 ที่ติดตั้ง PowerShell ไม่มีen-USไดเรกทอรีภายใต้

C:\Program Files\WindowsPowerShell\Modules\Microsoft.PowerShell.Operation.Validation\1.0.1\

มีอีกหลายen-USไดเรกทอรี

C:\Program Files\WindowsPowerShell>dir en-us /s /b /a:d
C:\Program Files\WindowsPowerShell\Modules\PackageManagement\1.0.0.1\en-US
C:\Program Files\WindowsPowerShell\Modules\Pester\3.3.5\en-US
C:\Program Files\WindowsPowerShell\Modules\Pester\3.4.0\en-US
C:\Program Files\WindowsPowerShell\Modules\PowerShellGet\1.0.0.1\en-US
C:\Program Files\WindowsPowerShell\Modules\PSReadline\1.1\en-US
C:\Program Files\WindowsPowerShell\Modules\PSReadline\1.2\en-US

เนื่องจากกระบวนการโดยค่าเริ่มต้นมีสิทธิ์ต่ำสุดเท่าที่จะเป็นไปได้เว้นแต่ว่าผู้ดูแลระบบจะได้รับการยกระดับ
Ramhound

PowerShell เริ่มต้นด้วย "Run as Administrator"
สว่าง

ดูที่สิทธิ์ในโฟลเดอร์เป้าหมาย แม้แต่ผู้ดูแลระบบก็ไม่สามารถมีสิทธิ์ในไฟล์ / โฟลเดอร์
ตัวปลอมตัว Twisty

ปฏิเสธการเข้าใช้? คุณแน่ใจหรือไม่ว่ามันถูกตั้งค่าอย่างถูกต้องในเส้นทางของคุณ? เปิดเทอร์มินัลชนิด Path หรือแม้แต่พิมพ์ Path> path.txt เพื่อให้คุณอ่านได้ง่ายขึ้นใน notepad ตรวจสอบให้แน่ใจว่าเส้นทางนั้นถูกต้อง ฉันมีปัญหากับฉันในอดีตเป็นเหตุผลเดียวที่ฉันพูดถึงมัน
ejbytes

เส้นทางของฉันสำหรับ PowerShell คือ: C: \ Windows \ System32 \ WindowsPowerShell \ v1.0 \; คุณติดตั้งหรือติดตั้งด้วยตนเองหรือไม่? และในพีซีของฉันโฟลเดอร์นี้ว่างเปล่า: C: \ Program Files \ WindowsPowerShell \ Modules (ว่างเปล่าทั้งหมดบนของฉัน) ดูเหมือนว่าฉันจะเปลี่ยนบางสิ่งในอดีต แต่เมื่อไม่นานมานี้ฉันจำไม่ได้
ejbytes

คำตอบ:


0

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

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

สิทธิ์ที่ถูกต้องสำหรับ1.0.1คือ:

  • ควบคุมทั้งหมดในโฟลเดอร์และโฟลเดอร์ย่อยนี้ไปยัง TrustedInstaller
  • สิทธิ์พื้นฐานทั้งหมดยกเว้นการควบคุมทั้งหมดในโฟลเดอร์นี้เฉพาะกับระบบ
  • ควบคุมเต็มรูปแบบในโฟลเดอร์ย่อยและไฟล์เฉพาะกับระบบ
  • ก่อนหน้านี้สองอีกครั้ง แต่สำหรับผู้ดูแลระบบ - นี่คือกุญแจสำคัญ
  • อ่าน & ดำเนินการ , รายการเนื้อหาของโฟลเดอร์และอ่านบนโฟลเดอร์, โฟลเดอร์ย่อยและไฟล์ให้กับผู้ใช้
  • ก่อนหน้านี้อีกครั้ง แต่สำหรับแอปพลิเคชันทั้งหมดและแพคเกจแอปพลิเคชันที่ จำกัด ทั้งหมด
  • ควบคุมเต็มรูปแบบในการย่อยและแฟ้มเท่านั้นเพื่อเจ้าของผู้สร้าง

เมื่อเสร็จแล้วควรมีลักษณะเช่นนี้:

การตั้งค่าความปลอดภัยขั้นสูงขั้นสุดท้าย

โดยทั่วไปหากสิทธิ์ในรายการดูผิดลองคัดลอกมาจากเครื่องทำงาน

เมื่อเสร็จสิ้นแล้ว PowerShell ที่ผ่านการยกระดับจะสามารถสร้างไฟล์และโฟลเดอร์ที่เหมาะสม


ขอบคุณมากเบ็นเอ็นมันให้ความประทับใจว่าตอนนี้ใช้งานได้แล้ว ฉันยังไม่รู้ว่าเครื่องเข้าสู่สถานะนี้ได้อย่างไร ฉันเรียกใช้การติดตั้ง Microsoft และ Windows Update เพื่อตั้งค่า PowerShell เท่านั้น
สว่าง

0

ฉันพบปัญหานี้ สำหรับฉันไม่มีโฟลเดอร์ย่อยทางวัฒนธรรม (en-US) ฉันสร้างโฟลเดอร์ย่อยในสหรัฐอเมริกาด้วยตนเองและคัดลอกโฟลเดอร์และไฟล์ทั้งหมดไปยังโฟลเดอร์ en-US ที่อยู่ในโฟลเดอร์ 1.0.1 (บางโฟลเดอร์ถูกล็อค) หลังจากนี้การอัปเดตช่วยเหลือจะใช้งานได้

ดูเหมือนว่าบางสิ่งบางอย่างเปลี่ยนไปเพื่อต้องการวัฒนธรรม แต่โมดูลนี้ไม่สอดคล้องกับมาตรฐานนั้น วันที่ของไฟล์และโฟลเดอร์ในโมดูลนี้คือ 3/18/2017 และ op โพสต์คำถามเมื่อวันที่ 4/18/2017

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