![](/img/trans.png)
[英]How to get SharePoint user details from a particular group using SPServices
[英]Get user details from SharePoint with PowerShell
我正在使用這個 PowerShell 腳本來獲取網站所有者:
$siteUrl = Read-Host "enter site url here:" $rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl) $spWebApp = $rootSite.WebApplication foreach($site in $spWebApp.Sites) { foreach($siteAdmin in $site.RootWeb.SiteAdministrators) { Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)" } $site.Dispose() } $rootSite.Dispose()
我希望它會打印網站所有者的一些詳細信息,例如電話號碼和 email。 我怎樣才能做到這一點?
我認為你有兩個選擇。 訪問SPUser
屬性或從活動目錄中獲取信息。
在第一種情況下,您是否無法像對DisplayName
那樣訪問屬性? 我的意思是,如果您有一個SPUser
object 來獲得 email,只需使用:
write-output "$($siteAdmin.Email)"
有關從活動目錄獲取用戶屬性的信息,您可以輕松實施以下問題中提供的解決方案。 它對我來說很好。
希望這可以幫助
編輯改進
站在 MS 文檔中,您有一些可用的屬性,請參閱SUSer Members 。 例如,您沒有phone
。
要從活動目錄中獲取某些內容,請嘗試更改以下 function 以便它返回您需要的屬性(在 windows 2k8 服務器上測試):
function Get-AD-Data { $strFilter = "(&(objectCategory=User))" $objDomain = New-Object System.DirectoryServices.DirectoryEntry $objSearcher = New-Object System.DirectoryServices.DirectorySearcher $objSearcher.SearchRoot = $objDomain $objSearcher.PageSize = 1000 $objSearcher.Filter = $strFilter $objSearcher.SearchScope = "Subtree" $objSearcher.FindAll() | select @{L="User";E={$_.properties.displayname}}, @{L="Department";E={$_.properties.department}}, @{L="MemberOf";E={$_.properties.memberof}} }
此 function 從 AD 返回所有用戶以及選定的屬性。 要從特定用戶那里獲取信息,您將使用(我猜):
$ad_userdetails = Get-AD-Data | ? {$_.user -eq $siteAdmin.Name}
干杯
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.