清华大佬耗费三个月吐血整理的几百G的资源,免费分享!....>>>
# ============================================================================================== # # NAME: Get-LocalGroupMembers # # AUTHOR: Ben Baird # DATE : 8/12/2011 # # COMMENT: # Given a machine name, retrieves a list of members in # the specified group. # ============================================================================================== function Get-LocalGroupMembers { param( [parameter(Mandatory=$true,ValueFromPipeline=$true,ValueFromPipelineByPropertyName=$true)] [Alias("Name")] [string]$ComputerName, [string]$GroupName = "Administrators" ) begin {} process { # If the account name of the computer object was passed in, it will # end with a $. Get rid of it so it doesn't screw up the WMI query. $ComputerName = $ComputerName.Replace("`$", '') # Initialize an array to hold the results of our query. $arr = @() $wmi = Get-WmiObject -ComputerName $ComputerName -Query ` "SELECT * FROM Win32_GroupUser WHERE GroupComponent=`"Win32_Group.Domain='$ComputerName',Name='$GroupName'`"" # Parse out the username from each result and append it to the array. if ($wmi -ne $null) { foreach ($item in $wmi) { $arr += ($item.PartComponent.Substring($item.PartComponent.IndexOf(',') + 1).Replace('Name=', '').Replace("`"", '')) } } $hash = @{ComputerName=$ComputerName;Members=$arr} return $hash } end{} }