private/_GetLocalGroup.ps1
function _GetLocalGroup { [cmdletbinding()] Param( [System.Management.Automation.Runspaces.PSSession]$PSSession ) $Computer = $PSSession.ComputerName Write-Verbose "[$Computer] - Local Group information" $GroupInfo = ([ADSI]"WinNT://$Computer").Children | Where-Object {$_.SchemaClassName -eq 'Group'} foreach ($Group in $GroupInfo) { [PSCustomObject]@{ PSTypeName = 'PSP.Inventory.LocalGroup' ComputerName = $Computer GroupName = $Group.Name[0] Members = ((_GetLocalGroupMember -Group $Group) -join '; ') GroupType = $GroupType[[int]$Group.GroupType[0]] SID = (ConvertTo-SID -BinarySID $Group.ObjectSid[0]) InventoryDate = (Get-Date) } } } |