gpt4 book ai didi

sharepoint - 使用 PowerShell 从 SharePoint 获取用户详细信息

转载 作者:行者123 更新时间:2023-12-03 21:02:43 25 4
gpt4 key购买 nike

我正在使用此 PowerShell 脚本获取网站所有者:

$siteUrl = Read-Host "enter site url here:"$rootSite = New-Object Microsoft.SharePoint.SPSite($siteUrl)$spWebApp = $rootSite.WebApplicationforeach($site in $spWebApp.Sites){    foreach($siteAdmin in $site.RootWeb.SiteAdministrators)    {        Write-Host "$($siteAdmin.ParentWeb.Url) - $($siteAdmin.DisplayName)"    }    $site.Dispose()}$rootSite.Dispose()

我希望它能打印网站所有者的一些详细信息,例如电话号码和电子邮件。我怎样才能做到这一点?

最佳答案

我认为你有两个选择。访问 SPUser 属性或从事件目录中获取信息。

在第一种情况下,您是否无法像访问 DisplayName 那样访问属性?我的意思是,如果您有一个 SPUser 对象来获取电子邮件,只需使用:

 write-output "$($siteAdmin.Email)"

有关从事件目录获取用户属性的信息,您可以轻松实现以下提供的解决方案 question .它对我来说效果很好。

希望对你有帮助


编辑改进

根据 MS 文档,您有一些可用的属性,请参阅 SPUSer Members .例如,您没有电话

要从事件目录中获取某些内容,请尝试更改以下函数,以便它返回您需要的属性(已在 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}}    }

此函数返回 AD 中的所有用户以及选定的属性。要从特定用户那里获取信息,您将使用(我猜):

$ad_userdetails = Get-AD-Data | ? {$_.user -eq $siteAdmin.Name}

干杯

关于sharepoint - 使用 PowerShell 从 SharePoint 获取用户详细信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5871872/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com