Question Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé

Plus d'informations
il y a 1 an 6 mois #32636 par FELKAOUI
Bonjour,
J'ai un problème avec mon script qui fonctionne sur un PC mais pas l'autre je n'arrive pas à trouver le problème ci joint le script : 

#Import module:
Import-Module ActiveDirectory
#Scripts variable
    #Entrez ici le chemin du dossier :
    $folder = "CHEMIN_AD"
    $users_excluded = @("CREATOR OWNER" , "BUILTIN\Administrateurs" , "AUTORITE NT\Système" , "NomDuDomaine\Administrateur")

    $displayed_members_groups_list = @()
    # initialisation du contenu du fichier
    $file_content = "
L'objectif de ce dossier est de permettre aux utilisateurs d'échanger des documents.
Les dossiers de ce niveau peuvent être consultés, créés, modifiés et supprimés par n'importe quel utilisateur à tout moment.

Accès accordés aux sous-dossiers pour les groupes :

"
#Liste de chaque groupe AD pour chaque sous-dossiers


            $file_content += "NomDuDossier`r`n"
            $acl = Get-Acl "$folder"  | ForEach-Object { $_.Access } #obtenir des informations de sécurité
            foreach($acl_unit in $acl)
            {
                if ($users_excluded -notcontains $acl_unit.IdentityReference) #Vérifier si l'utilisateur est exclu
                {
                    $file_content += "    " + $acl_unit_IdentityReference_Without_DOMAIN + "`r`n"
                    if($displayed_members_groups_list -notcontains $acl_unit_IdentityReference_Without_DOMAIN) #Vérifiez si le groupe est déjà enregistré dans la liste des groupes
                    {
                        $displayed_members_groups_list += $acl_unit_IdentityReference_Without_DOMAIN
                    }
                }
            }
            $file_content += "`r`n"
    $file_content += "`r`nGroups :

"
#Liste des membres de chaque groupe AD
    foreach ($row in $displayed_members_groups_list)
    {
        $file_content_temp = ""
        $users = Get-ADGroupMember -Identity $row | Sort-Object Name | Sort-Object SamAccountName ` #Obtenir la liste des membres du Groupe AD
        $i = 0
        ForEach ($user in $users)
        {
            $file_content_temp +=  $user.SamAccountName   + "      " + $user.Name + "    " + "`r`n"  #Afficher le nom d'utilisateur pour chaque utilisateur
            $i += 1
        }
        $file_content += $row + " (" + $i + ") :`r`n" 
        $file_content += $file_content_temp
        $file_content += "`r`n"
    }

    $date_now = Get-Date -format "dd/MM/yyyy" #date
    $time_now = Get-Date -format "HH:mm" #heure
    $file_content += "`r`n
`r`nContent automatically generated on " + $date_now + " at " + $time_now + "."
    $readme_file_path = $folder + "\_README.TXT" #Chemin du fichier de sortie
    echo $file_content > $readme_file_path #Ecriture du fichier de sortie



ERREUR : Get-ADGroupMember : Impossible de valider l'argument sur le paramètre «Identity». L’argument est Null ou vide. Indiquez un 
argument qui n’est pas Null ou vide et réessayez.
Au caractère Ligne:43 : 46
+         $users = Get-ADGroupMember -Identity $row | Sort-Object Name | Sort-Obje ...
+                                              ~~~~
    + CategoryInfo          : InvalidData : (:) [Get-ADGroupMember], ParameterBindingValidationException
    + FullyQualifiedErrorId : ParameterArgumentValidationError,Microsoft.ActiveDirectory.Management.Commands.GetADGroupMembe 
   r

Pouvez-vous m'aider svp

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32638 par Laurent Dardenne
Salut,
place des Write-Debug il manque peut être qq chose, Avec $DebugPreference='continue'

la varaible $displayed_members_groups_list est peut être null ou vide et elle n'est pas initialisée.

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32640 par FELKAOUI
Je pense que le problème vient de la variable $displayed_members_groups_list = @()
mais je l'ai testé sur un autre serveur cela fonctionne je ne comprends pas.
avec le meme script ça fonctionne

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32642 par Laurent Dardenne
Place des Write-debug sur les acls. Sinon utilise un debugger et/ou des logs :-)

Tutoriels PowerShell

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32643 par FELKAOUI
Je vais tester demain matin, as-tu un contact pour échanger en direct ?
Facebook ?
What apps ?
Telegram ?

Connexion ou Créer un compte pour participer à la conversation.

Plus d'informations
il y a 1 an 6 mois #32644 par FELKAOUI
quand j'exécute ma variable : $displayed_members_groups_list
rien ne s'affiche que dois je faire :(

Connexion ou Créer un compte pour participer à la conversation.

Temps de génération de la page : 0.074 secondes
Propulsé par Kunena