获取域内所有计算机本地管理员组内成员的POWESHELL CMDLET
2013-03-06 11:43
309 查看
代码:
网上找的脚本,忘了出处了。
默认是WRITE-HOST.
在DOS窗口下用powershell X.pwd > C:\x.TXT重定向符号可以输出到文件。
出处也忘记了。
效果图:
网上找的脚本,忘了出处了。
默认是WRITE-HOST.
在DOS窗口下用powershell X.pwd > C:\x.TXT重定向符号可以输出到文件。
出处也忘记了。
$strFilter = "computer" $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.SearchScope = "Subtree" $objSearcher.PageSize = 1000 $objSearcher.Filter = "(objectCategory=$strFilter)" $colResults = $objSearcher.FindAll() foreach ($i in $colResults) { $objComputer = $i.GetDirectoryEntry() $strComputer = $objComputer.name # If machine is up (True if any pings succeed and False if all failed) then carry on if (test-connection -computername $strComputer -quiet) { $computer = [ADSI]("WinNT://" + $strComputer + ",computer") #$computer.name $Group = $computer.psbase.children.find("administrators") #$Group.name # This will list what’s currently in Administrator Group so you can verify the result function ListAdministrators { $members= $Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("AdsPath", 'GetProperty', $null, $_, $null)} $memclas= $Group.psbase.invoke("Members") | %{$_.GetType().InvokeMember("Class", 'GetProperty', $null, $_, $null)} for($counter = 0; $counter -lt $members.count; $counter++) { [array]$result += "$($members[$counter]),$($memclas[$counter])" ; } $result } Write-Host Server Name: write-Host "`r`n" $objComputer.dnsHostname #Write-Host Administrators: foreach($item in (ListAdministrators)) { $ads = (($item.Split(","))[0]) $type = (($item.Split(","))[1]) #Write-Host "AdsPath : $($item)" Write-Host "`r`n Name (Type): $(($ads.Split("/"))[-1]) ($($type))" #Write-Host "Computer (Domain): $(($ads.Split("/"))[-2]) ($(($ads.Split("/"))[-3]))" } write-Host "`r`n" Write-Host "++++++++++++++++++++++++" } }
效果图:
![](http://images.cnitblog.com/blog/465438/201303/06114317-6d0e557c08c8471f87a351ab179bd468.png)
相关文章推荐
- 轻松统一修改域内所有计算机(或者指定OU内的计算机)本地管理员密码
- 用pspasswd批量修改域内计算机本地管理员密码
- 获取所有本地用户power shell 脚本
- 脚本:列出域客户端计算机的本地管理员成员
- 一种简单的修改所有域内本地管理员密码,及加某个帐号至本地管理员组的方法
- C#下获取本地计算机的所有IP地址
- 一种简单的修改所有域内本地管理员密码,及加某个帐号至本地管理员组的方法
- Java反射类工具获取成员的所有方法代码
- Android 获取本地外网IP、内网IP、计算机名等信息
- Android 获取本地外网IP、内网IP、计算机名等信息
- C#获取本地计算机名IP,Mac地址
- C#获取本地计算机名,IP,MAC地址,硬盘ID
- spooler API研究——获取所有本地和网络打印机
- 获取本地所有磁盘
- 在域中的计算机中加入一个本地管理员帐户
- C#获取本地计算机证书信息
- 组策略 之 统一修改域中计算机的本地管理员账户和密码和受限制组
- <Power Shell>11 查找Active Directory中的所有组同组成员
- C#获取本地计算机名,IP,MAC地址,硬盘ID
- 获取同一网段下所有机器MAC地址的shell脚本