Есть ли способ узнать последнюю учетную запись, которая изменила права NTFS на папку? - PullRequest
0 голосов
/ 20 апреля 2019

Я только что написал сценарий PowerShell, в котором перечислены все общие папки всех моих серверов + получены все права NTFS на них.

Большие строки:

Get-ADComputer -LDAPFilter "(&(objectcategory=computer)(OperatingSystem=*server*))" -Properties name |
    Select-Object name -ExpandProperty name >> "$path\servers.txt"

foreach ($_ in Get-Content "$path\servers.txt") {
    Get-WmiObject Win32_Share -Computer $_ |
        Format-Table path -AutoSize |
        Out-File "$path\Path\$_.txt"
}

foreach ($SharedFolder in $SharedFolders) {
    $lecteur = [int][char]'A'
    1..26 | ForEach-Object {
        $LR = [char]$lecteur
        $contenu = [System.IO.File]::ReadAllText("$lgpath\$SharedFolder.txt").Replace("${LR}:", "\\$SharedFolder\$LR$").Replace("path", "").Replace("----", "").Replace("  ", "").Replace("\ ", "\")
        [System.IO.File]::WriteAllText("$lgpath\$SharedFolder.txt", $contenu)
        $lecteur++
    }
    (Get-Content "$lgpath\$SharedFolder.txt" | Where-Object {
        $_ -notmatch '^\s*$'
    }) | Out-File "$lgpath\$SharedFolder.txt"
}

foreach ($SharedFolder in $SharedFolders) {
    $droits = foreach ($ligne in Get-Content "$lgpath\$SharedFolder.txt") {
        Get-NTFSAccess -Path "$ligne"
    }
    $droits |
        select Fullname, Account, AccessRights, InheritanceEnabled |
        Export-Csv "$Path\NTFS\NTFS_$SharedFolder.csv" -NoTypeInformation -Delimiter ";" -Encoding UTF8
}

Это нормально работает длясейчас, но я хотел бы получить еще одну информацию: последнюю учетную запись, которая редактировала права NTFS для каждой папки.

...