如何检索管理员帐户登录的Active Directory中的计算机名称及其IP地址?检索通过AD登录的计算机名称admin帐户
我可以检索本地管理员帐户与我下面的脚本:
function get-localadministrators {
param ([string]$computername=$env:computername)
$computername = $computername.toupper()
$ADMINS = get-wmiobject -computername $computername -query "select * from win32_groupuser where GroupComponent=""Win32_Group.Domain='$computername',Name='administrators'""" | % {$_.partcomponent}
foreach ($ADMIN in $ADMINS) {
$admin = $admin.replace("$computernamerootcimv2:Win32_UserAccount.Domain=","") # trims the results for a user
$admin = $admin.replace("$computernamerootcimv2:Win32_Group.Domain=","") # trims the results for a group
$admin = $admin.replace('",Name="',"")
$admin = $admin.REPLACE("""","")#strips the last "
$objOutput = New-Object PSObject -Property @{
Machinename = $computername
Fullname = ($admin)
DomainName =$admin.split("")[0]
UserName = $admin.split("")[1]
}#end object
[email protected]($objoutput)
}#end for
return $objreport
}#end function
但我想是的管理员登录到计算机返回所有实例。这是可能的还是有什么会返回类似的结果?
你想要一个当前登录的用户是Active Directory管理员组成员的计算机列表吗? Active Directory不存储该信息。只有计算机本身知道谁登录。您需要连接到域中的每台计算机,并在该计算机上查询在交互式会话或控制台会话中登录的用户列表。 –
刚刚列出IP /子网掩码和计算机名称怎么样?这是可行的吗? @BaconBits –
Active Directory并不知道有关IP地址或子网的任何信息。 AD骑在DNS之上。 DNS是你的主机名到IP地址查找的地方。但是,DNS并不知道有关子网的任何信息。再次,你不得不问客户端计算机使用的是什么子网掩码。您可以设置AD站点和服务,也许可以通过这种方式获取信息,但这样做的目的是根据您使用的逻辑地址来描述物理结构,以便可以在WAN链路上管理站点间流量。 –