- forum
- PowerShell
- Entraide pour les initiés
- Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
Question Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
- FELKAOUI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 2 ans 2 semaines #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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 2 ans 2 semaines #32638
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
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.
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.
- FELKAOUI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 2 ans 2 semaines #32640
par FELKAOUI
Réponse de FELKAOUI sur le sujet Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
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
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.
- Laurent Dardenne
- Hors Ligne
- Modérateur
Réduire
Plus d'informations
- Messages : 6302
- Remerciements reçus 68
il y a 2 ans 2 semaines #32642
par Laurent Dardenne
Tutoriels PowerShell
Réponse de Laurent Dardenne sur le sujet Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
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.
- FELKAOUI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 2 ans 2 semaines #32643
par FELKAOUI
Réponse de FELKAOUI sur le sujet Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
Je vais tester demain matin, as-tu un contact pour échanger en direct ?
Facebook ?
What apps ?
Telegram ?
Facebook ?
What apps ?
Telegram ?
Connexion ou Créer un compte pour participer à la conversation.
- FELKAOUI
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 4
- Remerciements reçus 0
il y a 2 ans 2 semaines #32644
par FELKAOUI
Réponse de FELKAOUI sur le sujet Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
quand j'exécute ma variable : $displayed_members_groups_list
rien ne s'affiche que dois je faire
rien ne s'affiche que dois je faire
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Entraide pour les initiés
- Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé
Temps de génération de la page : 0.112 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Entraide pour les initiés
- Script pour lister les droits NTFS + Utilisateurs d'un dossier partagé