|
![]() |
|
|||||||
![]() |
ICT-Hotlist ThemaPowerShell script om alle ondergeschikten van een manager te vinden in de Active Directory.De Microsoft Windows Active Directory (AD DS) is de bedrijfsstandaard voor het beheren van gebruikers, computers en beveiligingsinformatie voor het kleinbedrijf tot en met multinationals.In Active Directory kan elke gebruiker een manager en ondergeschikten hebben. De juistheid van deze relatie is erg belangrijk voor workflowsoftware die afhankelijk is van het verkrijgen van goedkeuring van het management voor het publiceren van prijslijsten of andere gevoelige informatie. Ook ICT-afdelingen zijn vaak afhankelijk van de juiste personeelsinformatie in de Active Directory om meer informatie of autorisatie te verkrijgen voor een bepaalde werknemer. Met alle HRM-mutaties kan het moeilijk zijn om een correct overzicht te hebben van alle medewerkers die rapporteren aan een bepaalde manager, vooral wanneer het dialoogvenster Gebruikerseigenschappen van Active Directory-gebruikers en computers te klein is om een schermafdruk van alle ondergeschikten te maken. Dit PowerShell-script bevat alle namen en functieomschrijvingen van alle ondergeschikten van een opgegeven Manager. Omdat een tabteken wordt ingevoegd in de uitvoer, kan het zeer eenvoudig worden gekopieerd naar bijvoorbeeld Excel. Gebruik
Script############################################################################################### # This PowerShell script finds all the direct reports of a manager in the Active Directory # (AD DS) services. It can be run from any Active Directory connected Windows computer. # The output is directReport's name and Title seperated with a tab so it can be copied and # pasted in Excel for example. # # (C)Copyrights 2019 - 2025 vanSoest.it by J.P.G. van Soest. ############################################################################################### #Clear the screen using the good old DOS Command cls # Show some information to the user "This PowerShell script displays all the Direct Reports of a manager" "(C)Copyrights 2019 - 2025 vanSoest.it by J.P.G. van Soest." # Get the manager user account $Manager = Read-Host -Prompt 'Enter the Windows usercode of the manager' # Try to resolve the usercode and get all the directReports Try{ # Clear the screen using DOS Command" cls # Resolve the usercode and get all the directReports $Users = Get-ADUser -Identity $manager -Properties directReports | Select -ExpandProperty directReports # Get the number of results $NumberOfUsers = $Users | measure # Select if there are any directReports If($NumberOfUsers.count -ne 0){ # Display the number of directReports and format output header $NumberOfUsers.count.ToString() + " Direct reports of manager: $Manager" # Loop through all the directReports to get the Name and Title properties ForEach($User in $Users) # There are Direct Reports, List Name and Title properties { $ADUser = Get-ADUser $User -Properties * $ADUser.Name + "`t" + $ADUser.Title } } # The number of results equals 0. Display message Else {"No Direct reports of manager: $Manager found"} } Catch { "An error occurred: " + $_.Exception.Message + "`n" + $_.Exception.ItemName } Voorbeeld uitvoerVoorbeeld 1Wanneer de juiste Manager-gebruikerscode wordt ingevoerd bij de prompt, worden de ondergeschikten weergegeven nadat het scherm gewist is.Invoer This PowerShell script displays all the Direct Reports of a manager (C)Copyrights 2019 - 2025 vanSoest.it by J.P.G. van Soest. Enter the Windows usercode of the manager: BrianE 4 Direct reports of manager: BrianE JohnL Rhythm Guitar PaulM Bass player GeorgeH Lead Guitar RingoS Drums Voorbeeld 2Wanneer een onjuiste gebruikersnaam voor de Manager wordt ingevoerd, wordt een verklarend foutbericht weergegeven.Invoer This PowerShell script displays all the Direct Reports of a manager (C)Copyrights 2019 - 2025 vanSoest.it by J.P.G. van Soest. Enter the Windows usercode of the manager: AllenK An error occurred: Cannot find an object with identity: 'AllenK' under: 'DC=vansoest,DC=local'. Voorbeeld 3Wanneer een werknemer geen mensen managed, zal het script rapporteren:Uitvoer No Direct reports of manager: RingoS found VereistenPowershell gebruikt in dit script de Windows Active Directory libraries. Elke Domein Controller heeft deze standaard geïnstalleerd. Voor Uw desktop kan het nodig zijn dat de Remote Server Administration Tools (RSAT) moeten worden geïnstalleerd of geconfigureerd. Hier vind U meer informatie.
U mag stemmen over dit artikel:
![]() ![]() ![]() ![]() ![]() Scripts en programmeervoorbeelden disclaimerTenzij anders vermeld, zijn de scriptcode en programmeervoorbeelden auteursrechtelijk beschermde (copyright) freeware. U mag deze wijzigen, zolang een verwijzing naar de oorspronkelijke code en een hyperlink naar de bronpagina is opgenomen in de gewijzigde code en documentatie. Het is echter niet toegestaan om (kopieën van) de scripts en programmeervoorbeelden te publiceren op uw eigen site, blog, vlog, of te distribueren op papier of een andere drager, zonder voorafgaande schriftelijke toestemming.Bij veel van de technieken gebruikt in deze scripts, met inbegrip van maar niet beperkt tot register-wijzigen of wijzigingen aan systeembestanden of instellingen, bestaat een risico dat een werkend besturingssysteem onbruikbaar wordt en gegevens verloren kunnen raken. Zorg ervoor dat U gecontroleerd heeft dat U beschikt over volledige back-ups en de bijbehorende herstelsoftware voordat U deze scripts of programmavoorbeelden gebruikt. Het gebruik van deze scripts en programmeervoorbeelden is volledig Uw eigen risico. Alle aansprakelijkheidsclaims tegen de auteur met betrekking tot materiële of niet-materiële verliezen als gevolg van het gebruik, misbruik of niet-gebruik van de verstrekte informatie of het gebruik van onjuiste of onvolledige informatie, zijn uitgesloten. Alle inhoud is onderhevig aan verandering en geleverd zonder verplichting. |