PowerShell - รับสิทธิ์ในโฟลเดอร์และโฟลเดอร์ย่อย
หากต้องการทำความเข้าใจวิธีการรับสิทธิ์ในโฟลเดอร์และโฟลเดอร์ย่อยใน PowerShell คุณต้องเข้าใจก่อนว่าสิทธิ์ของโฟลเดอร์และโฟลเดอร์ย่อยคืออะไร สิทธิ์ของโฟลเดอร์กำหนดว่าใครสามารถเข้าถึงและแก้ไขไฟล์และโฟลเดอร์ได้ การอนุญาตโฟลเดอร์ย่อยคือการอนุญาตที่ตั้งไว้สำหรับโฟลเดอร์ที่มีโฟลเดอร์อื่น โดยทั่วไป สิทธิ์ที่ตั้งค่าไว้ในโฟลเดอร์จะเผยแพร่ไปยังโฟลเดอร์ย่อยใดๆ เว้นแต่คุณจะระบุไว้เป็นอย่างอื่น
สามารถตั้งค่าสิทธิ์สำหรับผู้ใช้หรือกลุ่มได้ เช่น ผู้ดูแลระบบ, ผู้ใช้ และ แขก การอนุญาตประกอบด้วย Full Control, Modify, Read & Execute, List Folder Contents, Read และ เขียน หากต้องการดำเนินการต่อ การทราบโฟลเดอร์และโฟลเดอร์ย่อยในไดเร็กทอรีปัจจุบันเป็นสิ่งสำคัญ ตัวอย่างเช่น ไดเร็กทอรีการทำงานปัจจุบันสำหรับบทความนี้อยู่ที่ C:\Test
C:\Test ประกอบด้วยไฟล์ข้อความสองไฟล์ (File1.txt และ File2.txt) และโฟลเดอร์ (FolderG และ FolderH) รายการในแต่ละโฟลเดอร์มีดังนี้:
- C:\Test\FolderG - ประกอบด้วยไฟล์ข้อความสองไฟล์ (
File1.txtและFile6.txt) - C:\Test\FolderH - มีไฟล์ข้อความหนึ่งไฟล์ (
File6.txt)
ตอนนี้คุณรู้รายละเอียดของไดเร็กทอรีแล้ว มาเรียนรู้การขออนุญาตกันต่อ
ใช้คำสั่ง Get-Acl
ใช้คำสั่ง Get-Acl เพื่อรับสิทธิ์ในโฟลเดอร์ที่ระบุใน PowerShell Get-Acl cmdlet ใช้เพื่อรับรายการควบคุมการเข้าถึง (ACL) สำหรับไฟล์และโฟลเดอร์
ใช้คำสั่ง Get-Acl:
Get-Acl -Path "C:\Test"เอาท์พุต :
Path Owner Access
---- ----- ------
Test DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...ในโค้ดข้างต้น Get-Acl cmdlet ถูกใช้เพื่อรับรายการควบคุมการเข้าถึง (ACL) สำหรับไฟล์หรือโฟลเดอร์ที่มีการอนุญาตที่ตั้งไว้สำหรับไฟล์หรือโฟลเดอร์นั้น
หากคุณสังเกตเห็น คุณเห็น … ที่นี่หลัง FullControl เนื่องจากไม่ได้แสดงข้อความทั้งหมดให้คุณเห็น
หากต้องการรับข้อความทั้งหมด ให้ใช้ Format-table cmdlet พร้อมตัวเลือก -wrap
นี่คือตัวอย่าง:
ใช้คำสั่ง Get-Acl:
Get-Acl -Path "C:\Test"|Format-table -wrapเอาท์พุต :
Path Owner Access
---- ----- ------
Path Owner Access
---- ----- ------
powershell DESKTOP-MDAC0NJ\user NT AUTHORITY\SYSTEM Allow FullControl
BUILTIN\Administrators Allow FullControl
DESKTOP-MDAC0NJ\user Allow FullControlรับสิทธิ์ในไดเร็กทอรีการทำงานปัจจุบัน
หากต้องการรับสิทธิ์ในไดเร็กทอรีการทำงานปัจจุบัน เพียงใช้ get-acl cmdlet โดยไม่มีพารามิเตอร์ใดๆ มันจะให้รายการควบคุมการเข้าถึงสำหรับไดเร็กทอรีการทำงานปัจจุบัน
ใช้คำสั่ง Get-Acl:
Get-Aclเอาท์พุต :
Path Owner Access
---- ----- ------
Test DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...ใช้ Get-ChildItem กับ Get-Acl Cmdlet
ใช้ Get-Childitem กับ Get-Acl cmdlet เพื่อรับสิทธิ์ในโฟลเดอร์และโฟลเดอร์ย่อยใน PowerShell
ใช้ Get-ChildItem Cmdlet:
Get-ChildItem -Path "C:\Test" -Recurse | Get-Aclเอาท์พุต :
Directory: C:\Test
Path Owner Access
---- ----- ------
FolderG DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
FolderH DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
File1.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
File2.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
Directory: C:\Test\FolderG
Path Owner Access
---- ----- ------
File1.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
File6.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...
Directory: C:\Test\FolderH
Path Owner Access
---- ----- ------
File6.txt DESKTOP-MDAC0NJ\user BUILTIN\Administrators Allow FullControl...ในโค้ดข้างต้น cmdlet Get-ChildItem ดึงข้อมูลคอลเลกชันของรายการย่อย (ไฟล์และไดเรกทอรี) ในโฟลเดอร์ที่ระบุ พารามิเตอร์ -Path ระบุเส้นทางไปยังโฟลเดอร์ที่จะค้นหา ซึ่งก็คือ C:\Test พารามิเตอร์ -Recurse บ่งชี้ว่าคำสั่งควรค้นหาซ้ำผ่านโฟลเดอร์ย่อยทั้งหมด
ตัวดำเนินการไปป์ไลน์ | รับเอาต์พุตจากคำสั่ง Get-ChildItem และส่งเป็นอินพุตไปยังคำสั่งถัดไปในไปป์ไลน์ และ Get-Aclcmdlet จะดึงข้อมูลรายการควบคุมการเข้าถึง (ACL) สำหรับออบเจ็กต์อินพุต แต่ละไฟล์และไดเร็กทอรีที่ส่งคืนโดยคำสั่ง Get-ChildItem
ผลลัพธ์ของคำสั่งนี้แสดงสิทธิ์ที่ตั้งค่าไว้สำหรับแต่ละไฟล์และไดเร็กทอรี รวมถึงชื่อผู้ใช้และกลุ่มที่มีสิทธิ์เข้าถึงและระดับการเข้าถึงที่พวกเขามี
เมื่อพิจารณาวิธีแก้ปัญหาข้างต้น การทำความเข้าใจสิทธิ์ของโฟลเดอร์และโฟลเดอร์ย่อยถือเป็นสิ่งสำคัญสำหรับการตั้งค่าและจัดการสิทธิ์อย่างมีประสิทธิภาพ เมื่อใช้ Get-Acl และ Get-ChildItem คุณสามารถรับและส่งออกสิทธิ์สำหรับโฟลเดอร์และโฟลเดอร์ย่อยใน PowerShell ได้อย่างง่ายดาย ด้วยตัวอย่างเหล่านี้ คุณสามารถเริ่มจัดการสิทธิ์ของโฟลเดอร์และโฟลเดอร์ย่อยได้อย่างมั่นใจ
นั่นคือทั้งหมดที่เกี่ยวกับวิธีรับสิทธิ์ในโฟลเดอร์และโฟลเดอร์ย่อยใน PowerShell
