Risultati da 1 a 2 di 2

Discussione: [PS] Accedere agli ACL dei file/chiavi protetti

  1. #1
    Member


    REX Big Pedata Strong®
    ▪▪▪▪▪66%▪▫▫▫▫


    Data Registrazione
    03-06-2004
    Messaggi
    116

    [PS] Accedere agli ACL dei file/chiavi protetti

    CIAO

    Come si fa ad accedere agli ACL di tutti i file/directory e le chiavi del registro di un sistema Windows 7 indipendentemente dal loro attributo di protezione per modificare i loro ACL? Mi potreste fare un esempio di cio`?

    GRAZIE

    CIAO
    Ultima modifica di balubeto; 25-06-2010 alle 18.48.50
    Balubeto

  2. #2
    Member


    REX Big Pedata Strong®
    ▪▪▪▪▪66%▪▫▫▫▫


    Data Registrazione
    03-06-2004
    Messaggi
    116
    Ho scritto questo script

    Codice:
    # Parametri da inserire in una riga di comando:
    # $RemovedSID                               Variabile che contiene un SID di un account rimosso di Windows 7 da rimuovere dal sistema.
    param ($RemovedSID)
    # Esamina le partizioni di un hard-disk e gli hive del registro per rimuovere il SID orfano dell'account rimosso dai ACL delle directory/file e delle
    # chiavi del registro.
    New-PSDrive -Name HKCR -PSProvider Registry -Root HKEY_CLASSES_ROOT
    New-PSDrive -Name HKU -PSProvider Registry -Root HKEY_USERS
    New-PSDrive -Name HKCC -PSProvider Registry -Root HKEY_CURRENT_CONFIG
    $Drives = [Environment]::GetLogicalDrives(), 'HKLM:\', 'HKCR:\', 'HKU:\', 'HKCC:\'
    $Drives | Get-ChildItem -Recurse -Force |
        ForEach-Object {
            "Verifica di {0}..." -f $_
     
            # Recupera le ACL dell'oggetto
     
            $ObjectACL = $_.GetAccessControl()
     
            # Recupera le regole per il SID desiderato
     
            $BadRules = @(
                    $ObjectACL.GetAccessRules($true, $false, [Security.Principal.SecurityIdentifier]) |
                        ? { $_.IdentityReference -eq $RemovedSID }
                )
     
            if ($BadRules.Count -gt 0) {
                "Rimozione regole orfane (elementi trovati: {0})..." -f $BadRules.Count
     
                # Rimuove le regole orfane
     
                $BadRules |
                    ForEach-Object {
                        $ObjectACL.RemoveAccessRule($_)
                    }
     
                # Aggiorna le ACL dell'oggetto
     
     
                $_.SetAccessControl($ObjectACL)
            }
        }
    ma, eseguendolo, mi sono accorto che rimuove l'eventuale SID orfano soltanto dai file/directory/chiavi comuni e NON dai questi stessi oggetti aventi tutti gli altri attributi (tipo, nascosto, di sola lettura, di sistema, ... ). Quindi, come devo modificare questo script per aggiungere anche questa "funzionalita`"?

    GRAZIE

    CIAO
    Balubeto

Segnalibri

Permessi di Scrittura

  • Tu non puoi inviare nuove discussioni
  • Tu non puoi inviare risposte
  • Tu non puoi inviare allegati
  • Tu non puoi modificare i tuoi messaggi
  •