如何使用PowerShell獲取本地Administrators組成員?


要使用PowerShell獲取本地Administrators組成員,你需要使用GetLocalGroupMember命令。此命令在PowerShell 5.1及更高版本中可用,其模組為Microsoft.PowerShell.LocalAccounts。此模組在32位PowerShell版本中不可用,但在64位系統上可用。

在下面的示例中,我們需要檢索本地Administrators組成員:

示例

Get-LocalGroupMember -Group "Administrators"

輸出

ObjectClass    Name          PrincipalSource
-----------    ----          ---------------
User          LABDOMAIN\delta
Group         LABDOMAIN\Domain Admins
User          TEST1-WIN2K12\Administrator
User          TEST1-WIN2K12\LocalAdmin

Name屬性顯示本地管理員組的成員。要從遠端伺服器檢索本地Administrators組成員,我們需要使用Invoke-Command方法。

示例

Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember -
Name 'Administrators'}

輸出

ObjectClass    Name                         PrincipalSource          PSComputerName
-----------    ----                         ---------------          --------------
User           LABDOMAIN\Delta              ActiveDirectory          Test1-Win2k16
Group          LABDOMAIN\Domain             Admins ActiveDirectory   Test1-Win2k16
User           TEST1-WIN2K16\Administrator  Local                    Test1-Win2k16
User           TEST1-WIN2K16\LocalAdmin     Local                    Test1-Win2k16
User           TEST1-WIN2K16\Localuser      Local                    Test1-Win2k16

你也可以過濾特定的使用者,如下所示。

示例

Invoke-Command -ComputerName Test1-Win2k16 -ScriptBlock{Get-LocalGroupMember -
Name 'Administrators' | where{$_.Name -like "*Alpha*"}}

輸出

ObjectClass    Name                PrincipalSource PSComputerName
-----------    ----                --------------- --------------
User           LABDOMAIN\alpha     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
LABDOMAIN\Delta
LABDOMAIN\Domain Admins
LocalAdmin

類似地,你可以使用任何本地組名代替Administrators組。

更新於:2023年11月1日

46K+ 瀏覽量

開啟你的職業生涯

透過完成課程獲得認證

開始學習
廣告
© . All rights reserved.