Powershell script : maprechten op windows fileserver van bepaalde user of van iedereen

het script noemt : ACLPOWERINFO_V2

Als je het script start, geef je uw file server op : voorbeeld : \\dvcfileserver” (zonder aahalingstekens). Je mag ook een dfs path opgeven.

Daarna geef je de sharenaam met of zonder submap :” gegevens\test ”

Daarna het path met de exportfile naam : “c:\test\exportuser.txt”

daarna geef de naam op van een domein user van wie je alle mappen wil weten waar hij rechten op heeft. (“domeinnaam\userlogin”) Je zal ook zien of zijn rechten “IsInherited” zijn.
Als je geen specifieke domainuser wil opgeven, type dan ” * “.

Hieronder vindt u de broncode van het powershell script. kopieer dit in windows powershell ISE (powershell gui) of bewaar dit in een ps1 bestand. : “c:\aclpowerinfo.ps1”

dan kan je in de command prompt  het volgende typen : powershell -file “c:\aclpowerinfo.ps1”.

#

# modified script by (c) Dick Kluskens
$serverinputb = Read-Host ‘Wat is uw file server path ? (\\…..)’
$targetServer = $serverinputb #Enter hostname
$fileinputb = read-host ‘wat is uw file scan direcotory (sharenaam\submap)’
$targetDirectory = $fileinputb #Enter directory name
$target = Join-Path -ChildPath $targetDirectory -Path $targetServer
$arrResults = @() #Initialize array used to store custom object output
$exportfileb = read-host ‘geef exportfile (c:\temp\ntfsexp.txt) ? ‘
$naamdkmagic = read-host ‘geef alleen voor bepaalde gebruiker/groep/alle (domein\username, *) ? :’
$exportPath = $exportfileb #Enter name of the CSV output file
write-host $target
#Query target directory for all ‘folders’ (excludes files via Where statement)
Get-ChildItem -Recurse -Path $target | Where { $_.PSIsContainer } | forEach {
#write-host $_.PSIScONTAINER
#write-host $accessRight.IdentityReference

$objPath = $_.FullName
$coLACL = Get-Acl -Path $objPath
forEach ( $objACL in $colACL ) {
forEach ( $accessRight in $objACL.Access ) {
if($accessRight.IdentityReference -like $naamdkmagic) {
$objResults = New-Object –TypeName PSObject

 

$objResults | Add-Member –MemberType NoteProperty –Name DirectoryPath –Value $objPath
$objResults | Add-Member –MemberType NoteProperty –Name Identity –Value $accessRight.IdentityReference
$objResults | Add-Member –MemberType NoteProperty –Name SystemRights –Value $accessRight.FileSystemRights
$objResults | Add-Member –MemberType NoteProperty –Name SystemRightsType –Value $accessRight.AccessControlType
$objResults | Add-Member -MemberType NoteProperty -Name IsInherited -Value $accessRight.IsInherited
$objResults | Add-Member -MemberType NoteProperty -Name InheritanceFlags -Value $accessRight.InheritanceFlags
$objResults | Add-Member –MemberType NoteProperty –Name RulesProtected –Value $objACL.AreAccessRulesProtected

 

$arrResults += $objResults

}

}

}

}

$arrResults | Export-CSV -NoTypeInformation -Path $exportPath

 

 

 

   

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *

  • Zoek de Ict tips

    Generic selectors
    Exact matches only
    Search in title
    Search in content
    Search in posts
    Search in pages
    Filter by Categories
    advies desktop
    advies notebook
    advies smart tv
    cloning and backup
    cmd
    dklus music
    esxi
    exchange 2007/2010/2013
    freeware
    koopadvies
    office 2003
    office 2007
    office 2010
    office 2013
    office 2016
    Powershell
    Thin os (wyse)
    tips voorblad
    Uncategorized
    Visual Basic For Applications (VBA)
    vmware
    win 8 apps zeer goed
    Windows 10
    windows 7
    Windows 8
    windows 8.1
    Windows 8.x RT
    windows server 2003
    windows server 2008
    windows server 2012
    windows server 2012 R2
    windows server 2016
    wordpress