powershell script för att lista Adgroupmembers och nedärvning snyggt radat

Permalänk

powershell script för att lista Adgroupmembers och nedärvning snyggt radat

Om jag kör följande i pS

PS C:\Users\poweruser> get-adgroupmember "domain admins"

| export-csv -path c:\temp\domain.csv -notypeinformation För att få en textfil

Så får jag följade output

distinguishedName : CN=Administrator,OU=Disabled,DC=masterdomain,DC=net name : Administrator objectClass : user objectGUID : 968bcf77-a480-49d2-8635-9f3f54d654e77f5 SamAccountName : Administrator SID : S-1-5-21-410308759-1451055527-165567004692-500 distinguishedName : CN=AD_Operations_Team,OU=Roles,OU=Groups,OU=Admin,DC=masterdomain,DC=net name : AD_Operations_Team objectClass : group objectGUID : 6900232c-0115-43ea-88b1-cd4565e654s5 SamAccountName : AD_Operations_Team SID : S-1-5-21-410308759-1451055527-165465670592-1103 distinguishedName : CN=serviceaccount_Domain_Admins,OU=Groups,OU=Admin,DC=masterdomain,DC=net name : serviceaccount_Domain_Admins objectClass : group objectGUID : c7bc32a6-b2ec-429f-8607-307f7b3b578s71c0 SamAccountName : serviceaccount_Domain_Admins SID : S-1-5-21-410308759-1451055527-16544645652-

Hur gör jag för att kunna få hela arvet, där även en groupmember som är en grupp radar upp vilka members som tillhör den Objectclass:group och så vidare. Vet att output kan bli väldigt stor, vill kunna rada upp vilka grupper och användare som finns med där snyggt.

Permalänk
Medlem

Såna här frågor är ofta chatGPT väldigt bra på. Det här svarade den för mig när jag matade in ditt inlägg:

$groupMembers = Get-ADGroupMember "domain admins" -Recursive $output = @() foreach ($member in $groupMembers) { if ($member.objectClass -eq "user") { $user = Get-ADUser $member.SamAccountName -Properties DisplayName $outputLine = [PSCustomObject]@{ Type = "User" Name = $user.DisplayName SamAccountName = $user.SamAccountName GroupName = "domain admins" } } elseif ($member.objectClass -eq "group") { $subGroup = Get-ADGroup $member.SamAccountName $subGroupMembers = Get-ADGroupMember $subGroup -Recursive | Where-Object { $_.objectClass -eq "user" } $outputLine = [PSCustomObject]@{ Type = "Group" Name = $subGroup.Name SamAccountName = $subGroup.SamAccountName GroupName = "domain admins" Members = $subGroupMembers | ForEach-Object { $_.SamAccountName } } } $output += $outputLine } $output | Export-Csv -Path "c:\temp\domain_hierarchy.csv" -NoTypeInformation

Jag kör inte Windows, så kan inte testa och vet öht inte vad det är du frågar efter så ledsen om det här bara är rappakalja. Kanske du kan omformulera frågan etc för att få den att producera något användbart.

Permalänk

Tack, mina frågor till chatgpt blir alltid bara skit, Jag måste lära mig fråga bättre. Skall se hur outputen ser ut.