برای اینکه اعضای گروه Administrators محلی از PowerShell استفاده کنند، باید از دستور GetLocalGroupMember استفاده کنید . این دستور در PowerShell نسخه 5.1 به بعد موجود است و ماژول آن Microsoft.PowerShell.LocalAccounts است . این ماژول در نسخه 32 بیتی PowerShell در دسترس نیست بلکه در سیستم 64 بیتی موجود است.
در مثال زیر، باید اعضای گروه Local Administrators را بازیابی کنیم،
مثال
Get-LocalGroupMember -Group "Administrators"
خروجی
ObjectClass Name PrincipalSource ----------- ---- --------------- User LABDOMAINdelta Group LABDOMAINDomain Admins User TEST1-WIN2K12Administrator User TEST1-WIN2K12LocalAdmin
Name Property اعضای گروه های مدیر محلی را نشان می دهد. برای بازیابی اعضای گروه Administrators محلی از سرورهای راه دور، باید از روش Invoke-Command استفاده کنیم.
مثال
Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember - Name 'Administrators'}
خروجی
ObjectClass Name PrincipalSource PSComputerName ----------- ---- --------------- -------------- User LABDOMAINDelta ActiveDirectory Test1-Win2k16 Group LABDOMAINDomain Admins ActiveDirectory Test1-Win2k16 User TEST1-WIN2K16Administrator Local Test1-Win2k16 User TEST1-WIN2K16LocalAdmin Local Test1-Win2k16 User TEST1-WIN2K16Localuser Local Test1-Win2k16
شما همچنین می توانید کاربر خاص را مانند تصویر زیر فیلتر کنید.
مثال
Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember - Name 'Administrators' | where{$_.Name -like "*Alpha*"}}
خروجی
ObjectClass Name PrincipalSource PSComputerName ----------- ---- --------------- -------------- User LABDOMAINalpha ActiveDirectory Test1-Win2k16
در نسخه قبلی PowerShell، این دستور پشتیبانی نمی شد. همچنین می توانید خروجی را با استفاده از cmd بازیابی کنید.
مثال
net localgroup administrators
خروجی
Alias name administrators Comment Administrators have complete and unrestricted access to the comput er/domain Members ------------------------------------------------------------------------------- Administrator Delta Domain Admins Enterprise Admins The command completed successfully.
برای دریافت فقط اعضا، خروجی را در متغیر ذخیره می کنیم و عمل می کنیم.
مثال
$members = net localgroup administrators $members[6..($members.Length-3)]
خروجی
Administrator Delta Domain Admins Enterprise Admins
برای اجرای این دستور بر روی کامپیوتر راه دور،
مثال
Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{ $members = Invoke-Expression -command "Net Localgroup Administrators" $members[6..($members.Length-3)] }
خروجی
Administrator LABDOMAINDelta LABDOMAINDomain Admins LocalAdmin
به طور مشابه، می توانید از هر نام گروه محلی به جای گروه Administrators استفاده کنید.