param( [Parameter(Mandatory=$true)] [string]$url ) function Write-Log($msg) { Write-Host $msg -foregroundcolor green ($msg) | Out-File "log-enum-users.txt" -Append } function Enum-Users-Group($group) { Write-Log ("`t`tGroup:" + $group.Name) foreach ($user in $group.Users) { Write-Log ("`t`t`t" + $user.LoginName) } } function Enum-Users-Web($web) { Write-Log ("`tWeb:" + $web.Url) foreach ($g in $web.Groups) { Enum-Users-Group $g } foreach ($w in $web.Webs) { Enum-Users-Web $w } } function Enum-Users-Site-Col($site) { Write-Log ("Site:" + $site.Url) Enum-Users-Web $site.RootWeb foreach ($w in $site.RootWeb.Webs) { Enum-Users-Web $w } } $wa = Get-SPWebApplication $url foreach ($site in $wa.Sites) { Enum-Users-Site-Col $site } #$site = Get-SPSite $url #Enum-Users-Site-Col $site #$web = Get-SPWeb $url #Enum-Users-Web $web