2016-04-08 3 views
1

Kayıtlı kullanıcı izinlerine (kullanıcı grupları değil) sahip tüm dizinlerin (özyinelemeli) bir listesine ihtiyacım var. Bazı Get-ADUser şeyler olmalı düşünüyorumYalnızca Get-Acl listesi Kullanıcılar

Get-ChildItem -Recurse c:\scripte | Get-Acl | 
    Where-Object -FilterScript {$_.objectclass -eq 'user'} 

: gibi

şey?

+2

misiniz Sadece AD ​​kullanıcılarını veya yerel kullanıcıları mı arıyorsunuz? Yerleşik güvenlik prensipleri nedir? –

+0

Merhaba, AD kullanıcıları arıyorum. – deep

cevap

0

Böyle bir şey sen PowerShell v3 veya sahip olduğunu varsayarak yapmalıyım yeni:

ifadesinin v2 PowerShell ile sıkışmış ediyorsanız
Get-ChildItem c:\scripte -Recurse -Directory | Where-Object { 
    (Get-Acl $_.FullName).Access.IdentityReference -match "^$env:USERDOMAIN\\" -replace '^.*\\' | 
    ForEach-Object { Get-ADUser -Filter "SamAccountName -eq $_" } 
} 

alır biraz daha ayrıntılı:

Get-ChildItem c:\scripte -Recurse | Where-Object { 
    $_.PSIsContainer -and 
    (Get-Acl $_.FullName | Select-Object -Expand Access | 
    Select-Object -Expand IdentityReference) -match "^$env:USERDOMAIN\\" -replace '^.*\\' | 
    ForEach-Object { Get-ADUser -Filter "SamAccountName -eq $_" } 
} 
İlgili konular