#Version du 1er aout 2013 Clear-Host function Get-ScriptDirectory { $Invocation = (Get-Variable MyInvocation -Scope 1).Value $ScriptFolderPath = Split-Path $Invocation.MyCommand.Path return $ScriptFolderPath } function CheckQuestActiveRolesADM() { #Test la présence des outils Quest $Error.Clear() Get-PSSnapin Quest.ActiveRoles.ADManagement if($Error.Count -ne 0) { Clear-Host Write-Host "`n`n`t`t ERROR - To run this script, the Quest.ActiveRoles.ADManagement must be installed and registered with Powershell." -foregroundcolor red -backgroundColor yellow Write-Host "`t`t go to the Settings menu in Powershell Plus and click on Manage Snapins." -foregroundcolor red -backgroundColor yellow break } } #Test de la présence des outils Quest CheckQuestActiveRolesADM $NomFichierResultat = "ExtractUsersFromGroup_Result.txt" $NomGroupe = [string] $MonResultat = [string] $MonResultat = Read-Host "Login à analyser" if ($MonResultat.Length -igt 0){ $EmplacementFichier = Get-ScriptDirectory $EmplacementFichierResultat = "$EmplacementFichier\$NomFichierResultat" $MonFichierResultat = New-Item -type file $EmplacementFichierResultat -Force add-content $MonFichierResultat "Groupes AD du compte $MonResultat" $GroupeSource = Get-QADGroupMember $MonResultat foreach($OneMember in $GroupeSource) { add-content $MonFichierResultat $OneMember.DisplayName } # $objUserSource = Get-QADGroup -SamAccountName $MonResultat # foreach ($UneLigne in $objUserSource.memberof){ # $UnGroupe = Get-QADGroup $UneLigne # $NomGroupe = $UnGroupe.GroupName # add-content $MonFichierResultat "$NomGroupe" # } } else{ Write-Host "Vous n'avez rien saisi" } Write-Host "Terminé !"