- forum
- PowerShell
- Contributions à la communauté
- Répertoires liés par ACL et gérés par des groupes vides
Question Répertoires liés par ACL et gérés par des groupes vides
- Bruce
- Auteur du sujet
- Hors Ligne
- Nouveau membre
Réduire
Plus d'informations
- Messages : 13
- Remerciements reçus 0
il y a 2 ans 1 mois - il y a 2 ans 1 mois #32562
par Bruce
Répertoires liés par ACL et gérés par des groupes vides a été créé par Bruce
Bonjour,
Voici un script qui peut être utile lorsque l'on a plusieurs serveurs de fichiers et plusieurs groupes AD qui gèrent les autorisations au dossiers.
Il permet de recherches les droits NTFS sur les dossiers partagés pour voir ceux qui sont liés par des groupes vides (sans aucun user).
Dans mon cas nous avons plusieurs serveurs de fichiers (un par société) donc le script laisse le choix de choisir sur quel serveur on veut effectuer le scan.
Voici le code:
Voici un script qui peut être utile lorsque l'on a plusieurs serveurs de fichiers et plusieurs groupes AD qui gèrent les autorisations au dossiers.
Il permet de recherches les droits NTFS sur les dossiers partagés pour voir ceux qui sont liés par des groupes vides (sans aucun user).
Dans mon cas nous avons plusieurs serveurs de fichiers (un par société) donc le script laisse le choix de choisir sur quel serveur on veut effectuer le scan.
Voici le code:
clear-host
Import-Module ActiveDirectory
# Goupes AD Vides
$GroupesAD_Vides = Get-ADGroup -Filter * -Properties members | where {-not $_.members} | Select-Object Name, GroupCategory, DistinguishedName, whenCreated
$EmptyGroups = $GroupesAD_Vides.Count
#$GroupesAD_Vides | Out-GridView -Title " $EmptyGroups Groupes AD vides" -OutputMode None |sort -Property Name
#Listes des serveurs
$AllServers= Get-ADComputer -Filter {OperatingSystem -like "*windows*server*" -and Enabled -eq $true} -Properties Name, OperatingSystem, IPv4Address | Select-Object Name, OperatingSystem, IPv4Address | sort Name
#Selection d'un serveur
$SelectedServer = $AllServers | Out-GridView -Title "Selectionnez le serveur à scanner pour les répertoires partagés" -OutputMode Single |sort -Property Name
$NomServeur = $SelectedServer.Name
#Partages du serveur
$AllShares = Get-WmiObject -ComputerName $NomServeur -Class Win32_Share -ErrorAction Stop
foreach ($share in $AllShares)
{
if ($share.Name -like "DATA")
{
$sourcedir = "\\" + $NomServeur + "\" + $share.Name + "\MESPARTAGES"
$ListDirectory = Get-ChildItem –Path $sourcedir
}
}
#$ListDirectory | Out-GridView -Title "Repertoires partagés de $NomServeur" -OutputMode None | Select-Object Name, LastWriteTime |sort -Property Name
#Recuperation des ACL de chaque répertoire
$i = 0
foreach ($Repertoire in $ListDirectory)
{
$FullPath = $sourcedir + "\$Repertoire"
$MesACLs = get-acl $FullPath
#Write-Host -ForegroundColor Green -BackgroundColor Black "$Repertoire"
ForEach ($OneACL in $MesACLs.Access)
{
$OneAclResult = New-Object -TypeName PSObject
$NameACL = [string] $OneACL.IdentityReference
$NomDuGroupe = $NameACL.substring($NameACL.indexof("\")+1)
#Write-Host -ForegroundColor Green -BackgroundColor Blue "`tACL:$NomDuGroupe"
ForEach ($GroupeVide in $GroupesAD_Vides)
{
if ($GroupeVide.Name -like $NomDuGroupe)
{
Write-Host -ForegroundColor Red -BackgroundColor Yellow "`t$Repertoire est lié par ACL via les droits NTFS au groupe vide $NomDuGroupe"
$i++
}
}
}
}
if ( $i -eq 0)
{
Write-Host -ForegroundColor Green -BackgroundColor Black "Aucun répertoire lié par ACL à un groupe vide sur le serveur $Nomserveur"
Write-Host -ForegroundColor Green -BackgroundColor Black "FIN"
}else
{
Write-Host -ForegroundColor Green -BackgroundColor Black "FIN"
}
Dernière édition: il y a 2 ans 1 mois par Laurent Dardenne. Raison: balise code
Connexion ou Créer un compte pour participer à la conversation.
- forum
- PowerShell
- Contributions à la communauté
- Répertoires liés par ACL et gérés par des groupes vides
Temps de génération de la page : 0.092 secondes
- Vous êtes ici :
- Accueil
- forum
- PowerShell
- Contributions à la communauté
- Répertoires liés par ACL et gérés par des groupes vides