# How to view local admins throughout entire doman??

**URL:** <https://forums.powershell.org/t/how-to-view-local-admins-throughout-entire-doman/7864>\
**Category:** PowerShell Help\
**Created:** [January 16, 2017, 3:28pm UTC](https://forums.powershell.org/t/how-to-view-local-admins-throughout-entire-doman/7864 "2017-01-16T15:28:47Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![dpharr3262](https://avatars.discourse-cdn.com/v4/letter/d/8491ac/32.png) [@dpharr3262](https://forums.powershell.org/u/dpharr3262)\
**Post date:** [January 16, 2017, 3:28pm UTC](https://forums.powershell.org/t/how-to-view-local-admins-throughout-entire-doman/7864/1 "2017-01-16T15:28:47Z")

</div>

Function Get-LocalGroup {

[Cmdletbinding()]

Param(

[Parameter(ValueFromPipeline=$True, ValueFromPipelineByPropertyName=$True)]

[String]$Computername = $Env:COMPUTERNAME,

[parameter()]

[string]$Group

)

Begin {

Function ConvertTo-SID {

Param([byte]$BinarySID)

(New-Object System.Security.Principal.SecurityIdentifier($BinarySID,0)).Value

}  
Function Get-LocalGroupMember {

Param ($Group)

$group.Invoke(‘members’) | ForEach {

$_.GetType().InvokeMember(“Name”, ‘GetProperty’, $null, $_, $null)

}

}

}

Process {

ForEach ($Computer in $Computername) {

Try {

Write-Verbose “Connecting to $($Computer)”

$adsi = [ADSI]“WinNT://$Computer”

If ($PSBoundParameters.ContainsKey(‘Group’)) {

Write-Verbose “Scanning for groups: $($Group -join ‘,’)”

$Groups = ForEach ($item in $group) {

$adsi.Children.Find($Item, ‘Group’)

}

} Else {

Write-Verbose “Scanning all groups”

$groups = $adsi.Children | where {$\_.SchemaClassName -eq ‘group’}

}

If ($groups) {

$groups | ForEach {

[pscustomobject]@{

Computername = $Computer

Name = $\_.Name[0]

Members = ((Get-LocalGroupMember -Group $\_)) -join ', ’

SID = (ConvertTo-SID -BinarySID $\_.ObjectSID[0])

}

}

} Else {

Throw “No groups found!”

}

} Catch {

Write-Warning “$($Computer): $\_”

}

}

}

}

Get-LocalGroup -Computername $env:COMPUTERNAME -Group Administrators, Users -Verbose | Format-List

---

<div class="post-metadata">

**Author:** ![adam-bukowski](https://avatars.discourse-cdn.com/v4/letter/a/9d8465/32.png) [@adam-bukowski](https://forums.powershell.org/u/adam-bukowski)\
**Post date:** [January 19, 2017, 9:43am UTC](https://forums.powershell.org/t/how-to-view-local-admins-throughout-entire-doman/7864/2 "2017-01-19T09:43:18Z")

</div>

Hi,

Mayby this can help you 🙂

invoke-command -comp (Get-ADComputer -Filter \*).dnshostname -ScriptBlock {Get-LocalGroupMember administrators}

–  
Adam

---

<div class="post-metadata">

**Author:** ![dotnVo](https://avatars.discourse-cdn.com/v4/letter/d/4af34b/32.png) [@dotnVo](https://forums.powershell.org/u/dotnVo)\
**Post date:** [May 16, 2024, 8:39pm UTC](https://forums.powershell.org/t/how-to-view-local-admins-throughout-entire-doman/7864/3 "2024-05-16T20:39:24Z")

</div>


