ค้นหาเว็บไซต์

วิธีแสดงรายการสิทธิ์ NTFS ด้วย PowerShell


มันอาจจะปลอดภัยที่จะถือว่าคุณมาอยู่ในหน้านี้ เพราะโดยพื้นฐานแล้ว คุณชอบที่จะประหยัดเวลาและทำงานอย่างมีประสิทธิภาพ!

หน้านี้จะช่วยคุณแยกสิทธิ์ NTFS ที่ชัดเจน (ไม่ได้รับการสืบทอด) และแสดงรายการสิทธิ์สำหรับ การนำเข้า Excel แบบง่าย

เมื่อคุณมีข้อมูลใน Excel แล้ว คุณสามารถค้นหาและแก้ไขผลลัพธ์ได้ตามที่เห็นสมควร

ไม่ต้องกังวลกับมัน - ยินดีด้วย! ??

คุณสามารถคัดลอกสคริปต์ด้านล่างและแก้ไขตามที่คุณต้องการได้

จัดการ Office 365 แบบไฮบริดเหมือนเจ้านาย

ก่อนที่เราจะไปต่อ - หากคุณต้องการประหยัดเวลาได้มากจริงๆ ลองดูที่ Easy365Manager คร่าวๆ

Easy365Manager เป็นสแน็ปอินสำหรับผู้ใช้ AD และคอมพิวเตอร์ที่รวมการจัดการ AD และ Office 365 ไว้ด้วยกัน

เพื่อให้เข้าใจถึงประสิทธิภาพของ Easy365Manager อย่างถ่องแท้ โปรดพิจารณาสถานการณ์ที่ผู้ใช้ละทิ้งบริษัท

บริษัทหลายแห่งมีกระบวนการคล้ายกับด้านล่างเมื่อพนักงานลาออก:

  • ปิดการใช้งานบัญชีผู้ใช้ AD
  • แปลงกล่องจดหมายเป็นกล่องจดหมายที่ใช้ร่วมกัน
  • ซ่อนผู้ใช้จากรายการที่อยู่
  • ตั้งค่าการส่งต่อไปยังผู้จัดการของผู้ใช้ (หรือการเปลี่ยนทดแทน)
  • มอบสิทธิ์การเข้าถึงกล่องจดหมายให้กับผู้จัดการของผู้ใช้ (หรือทดแทน)
  • ซิงโครไนซ์การเปลี่ยนแปลงภายในองค์กรกับ Azure AD
  • เรียกคืนสิทธิ์การใช้งาน Office 365

ด้วยเครื่องมือมาตรฐาน สิ่งนี้จะใช้เวลาระหว่าง 5 ถึง 10 นาทีอย่างง่ายดาย เนื่องจากคุณต้องลงชื่อเข้าใช้เครื่องมือการจัดการหลายรายการ

ด้วย Easy365Manager สิ่งนี้สามารถทำได้ (โดยการสนับสนุนระดับจูเนียร์) ภายใน 30 วินาที:

ดาวน์โหลดเวอร์ชันทดลองใช้งาน 30 วันที่มีฟังก์ชันครบครันและประหยัดเวลาได้มากกว่าที่คุณวางแผนไว้ก่อนสิ้นสุดวัน!

ใช้ PowerShell เพื่อจัดทำเอกสารสิทธิ์ NTFS

สคริปต์ต่อไปนี้จะวนซ้ำโฟลเดอร์และโฟลเดอร์ย่อยทั้งหมดของโฟลเดอร์หลัก “D:\Data”

$OutFile = "c:\ExplicitACLs.csv"
"Path;Access;Identity" | Out-File $OutFile
$TopFolders = Get-ChildItem "D:\Data" -Directory
ForEach ($TopFolder In $TopFolders) {
    Write-Host Processing $TopFolder.FullName ...
    $Folders = Get-ChildItem -Path $TopFolder.FullName -Recurse -Directory
    ForEach ($Folder In $Folders) {
        $ACL = Get-Acl $Folder.FullName
        ForEach ($Access In $ACL.Access) {
            If ($Access.IsInherited -eq $False) {
                $Output = $Folder.FullName + ";" + $Access.FileSystemRights + ";" + $Access.IdentityReference
                $Output | Out-File $OutFile -Append
                Write-Host $Output
            }
        }
    }
}

เพื่อให้แน่ใจว่าเราเห็นความคืบหน้าเล็กน้อยระหว่างทาง โฟลเดอร์ย่อยจะถูกทำซ้ำทีละรายการ

(เราต้องการเห็นความคืบหน้าอย่างแน่นอนเมื่อทำการกระทืบโฟลเดอร์ TerraByte)

ผลลัพธ์เป็นรายการที่คั่นด้วยเครื่องหมายอัฒภาคโดยระบุ:

  • เส้นทางโฟลเดอร์/ไฟล์
  • สิทธิ์การเข้าถึง
  • ตัวตน (ผู้รับมอบสิทธิ์)

ผลลัพธ์ที่จัดรูปแบบอาจมีลักษณะคล้ายกับสิ่งนี้:

Path                 Access                       Identity
D:\Data\Customers    FullControl                  E365M\MSK
D:\Data\Customers    FullControl                  E365M\ClientReps
D:\Data\Financial    ReadAndExecute, Synchronize  E365M\JWB
D:\Data\Financial    ReadAndExecute, Synchronize  E365M\Finance
D:\Data\Development  Modify, Synchronize          E365M\Dev

เคล็ดลับ: หากปริมาณข้อมูลไม่ใหญ่โต คุณอาจต้องการรวมการอนุญาตไฟล์ไว้ในการตรวจสอบ:

ในกรณีดังกล่าว ให้ถอดสวิตช์ “-Directory” ในบรรทัดที่ 6 ออก

เราหวังว่าคุณจะพบว่าสคริปต์มีประโยชน์! ?

บทความที่เกี่ยวข้อง