izin daftar PowerShell untuk pengguna + folder


baru-baru ini bekerja dengan powershell.
Ingin tahu apakah ada yang tahu cara menampilkan folder yang diizinkan oleh pengguna.

aku mengerti sampai saat ini

Dapatkan nama pengguna-ADPrincipalGroupMembership | pilih nama

tetapi saya hanya mendapatkan grupnya, tidak ada foldernya dan jika pengguna ditugaskan ke satu folder tanpa grup, itu tidak dapat dilihat.

Saya mencari agar dapat menemukan dengan cepat semua izin pada server file untuk satu pengguna.

Maaf untuk bahasa Inggris saya. Terima kasih.


person Javier Bewater    schedule 24.05.2017    source sumber


Jawaban (1)


Anda harus menelusuri semua folder dan file dan memeriksa apakah izinnya menyertakan nama pengguna yang Anda cari.

Seperti:

$items = Get-Childitem C:\Temp

Ini memberi Anda objek file dan folder, yang kemudian dapat Anda teruskan ke metode GetAccessControl. Objeknya terlihat seperti ini:

Mode                LastWriteTime         Length Name
----                -------------         ------ ----
d-----       24-05-2017     10:06                test
-a----       23-05-2017     14:55             97 test.csv

Sekarang, Anda dapat menggunakan objek $items dengan metode GetAccessControl, seperti:

$items.GetAccessControl() | select -ExpandProperty Access

Sekali lagi, ini akan mengembalikan objek, yang berisi izin file NTFS dari setiap folder di jalur yang Anda tentukan.

Yang akan terlihat seperti ini:

FileSystemRights  : FullControl
AccessControlType : Allow
IdentityReference : Domain\User
IsInherited       : True
InheritanceFlags  : ContainerInherit, ObjectInherit
PropagationFlags  : None

Cobalah dan bermain-main dengan informasi ini, dan lihat apakah Anda dapat memulai dengan contoh kerja, agar komunitas dapat membantu melakukan debug :)

Harap simpan balasan Anda di postingan asli. Menyebalkan kita tidak bisa hanya berkomentar... Tapi tetap saja, ya, apa yang Anda lihat di sana, adalah semua pengguna/grup yang disebutkan dalam Daftar Kontrol Akses NTFS file saat ini (dalam pipa). Ingatlah bahwa Anda dapat mengakses objek secara individual, untuk mempermudah pencarian Anda. Seperti:

$Test[0].IdentityReference Akan menghasilkan "domain/pengguna" untuk entri pertama dalam array $Test. Jadi, Anda akan mengulang semua entri menggunakan objek foreach, atau a

foreach($item in $test){
#Code here
# if($item.IdentityReference -eq $UserImLookingfor){Write-host "Match! -fo green" }
$i++
}
person Martin Sandgaard Rasmussen    schedule 24.05.2017