Listing local group members via Powershell

By Andrei Ungureanu - Last updated: Friday, March 22, 2013 - Save & Share - Leave a Comment

Tot cautam un exemplu bun zilele astea pentru subiectul din titlu si am gasit ceva ce merge pe forumul powershellcommunity.org:

Nu este un exemplu classic powershell, pentru ca nu exista un cmdlet pentru asa ceva, insa important este ca merge si poate fi adaptat pentru mai multe cazuri.

Mai jos am pus cele doua exemple, unul care scoate numele grupului si inca unul ce pune si numele computerului (daca este grup local) sau numele domeniului. Bineinteles ca va fi nevoie de ceva extra procesare pentru a scoate WinNT:// din fata grupului insa nu e chiat atat de complicat.

$group =[ADSI]"WinNT://./Administrators"
$members = @($group.psbase.Invoke("Members"))
$members | foreach {$_.GetType().InvokeMember("Name", ‘GetProperty’, $null, $_, $null)}

image

function Get-localgroupmembers ([string]$localcomputername, [string]$localgroupname) {
$groupobj =[ADSI]"WinNT://$localcomputername/$localgroupname"
$localmembers = @($groupobj.psbase.Invoke("Members"))
$localmembers | foreach {$_.GetType().InvokeMember("AdsPath","GetProperty",$null,$_,$null)}

image

Posted in Scripting • Tags: , Top Of Page

Write a comment