Powershell : liste des groupes vides et export CSV

Afin de compléter le script que j'ai proposé dans l'article hier permettant de lister les OU vides, j'ai conçu un script effectuant le même travail mais pour des groupes. Peu de choses changent : la requête à l'AD est différente et je n'ai pas utilisé l'inversion du DistinguishedName cette fois-ci.

Il est possible que le script renvoie des erreurs si il tente d'interroger un groupe dont il y a un membre qui n'est pas membre du domaine local mais membre d'un domaine approuvé ; c'est la commande Get-AdGroupMember qui la renvoie mais cette erreur n'a aucune incidence sur le traitement du script.

Add-Type -AssemblyName System.Windows.Forms
[System.Windows.Forms.Application]::EnableVisualStyles()
$fileExpl = New-Object System.Windows.Forms.SaveFileDialog
$fileExpl.ValidateNames = $true
$fileExpl.CreatePrompt = $false
$fileExpl.OverwritePrompt = $true
$fileExpl.RestoreDirectory = $false
$fileExpl.InitialDirectory = "$env:userprofile"
$tempfile = "$env:temp\temp-emptygrp.csv"
$dump = "Group Name,Path"
Add-Content -Value $dump -Path $tempfile
$AllGroups = Get-AdGroup -filter * | select SamAccountName,DistinguishedName
foreach ($Group in $AllGroups){
if((Get-ADGroupMember $Group.SamAccountName).Count -eq 0){
$dump=$Group.SamAccountName+","+$Group.DistinguishedName
Add-Content -Value $dump -Path $tempfile
}
}
$fileExpl.DefaultExt = "csv"
$fileExpl.Filter = "Comma-separated values file (*.csv)|*.csv"
$fileExpl.Title = "Export empty groups list to CSV file"
$fileExpl.Filename = ""
$fileExpl.ShowDialog() | out-null
if ($fileExpl.Filename -ne "") {
Copy-Item $tempfile -Destination $fileExpl.Filename
if ($?){ Remove-Item $tempfile ; Write-Host "Exported successfully to"$fileExpl.Filename }
else { Write-Host "There was an issue exporting the data in a CSV file." -ForegroundColor "Red" }
}
else { Remove-Item $tempfile ; Write-Host "Aborted data export." -ForegroundColor "Red" }
Lien pour marque-pages : Permaliens.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.