从服务器上的本地管理员组获取用户

时间:2020-07-23 06:09:39

标签: powershell

我尝试下面的代码脚本运行了很长时间,并且在该错误后调用取消。服务器已加入域

function Get-LocalAdministrators {  
    param ($strcomputer)  
    $admins = Get-WmiObject win32_groupuser –computer $strcomputer   
    $admins = $admins |? {$_.groupcomponent –like '*"Administrators"'}  
    $admins | ForEach-Object {  
    $_.partcomponent –match ".+Domain\=(.+)\,Name\=(.+)$" > $nul  
    $matches[1].trim('"') + "\" + $matches[2].trim('"')  
    }  
}

#usage Get-LocalAdministrators "server name"

2 个答案:

答案 0 :(得分:0)

也许试试看:

Invoke-Command -ComputerName "server name" -Command {Get-LocalGroupMember -Group 'Administrators'}

答案 1 :(得分:0)

您也可以在WinNT提供程序中尝试ADSI:

$computerName = 'YourServerName'
$groupName    = 'Administrators'

$group = [ADSI]"WinNT://$computerName/$groupName,group" 
($group.psbase.invoke("Members")) | ForEach-Object {([ADSI]$_).InvokeGet("Name")}