用户信息在Sharepoint 2010中列出与AD用户的同步

时间:2013-09-24 06:55:33

标签: sharepoint powershell sharepoint-2010 sharepoint-userprofile

今天我遇到了一个奇怪的情况,在sharepoint 2010中用户配置文件同步,可能你们之前已经面对过它了。请帮我解决这个问题。请在之前找到问题说明。

我的AD中有一个名为 x.y (示例)的用户,它使用用户配置文件同步同步到我们的sharepoint,以便在用户信息列表中提供相同的详细信息。所以我可以在我的项目中使用的人物采集器中看到用户。后来用户说他的名字改为 yx ,所以我们的客户做的是,他们已经从AD中删除了用户并添加了一个带有 yx 的新条目,已经再次完成了同步服务,所以现在我可以在我的人员选择器中看到 xy和yx 。发生这种情况是因为人员选择器将首先查看用户信息列表和AD。但我的要求是,我不想在人员选择器中显示已删除的AD用户。我该怎么做?现在客户端说他有一些从AD中删除但仍然在人员选择器中显示的用户列表。为什么这种同步没有正确发生?请告诉我们有没有任何自动化机制来做到这一点。

我尝试过的解决方案

  1. 直接进入suer信息列表并删除用户。
  2. 通过提供需要删除的用户名csv,使用powershell命令从用户信息列表中删除用户列表。请在下面找到我使用的powershell命令

    PARAM ( [参数(强制= $ true)] [ValidateScript({Test-Path $ _ -Include“* .csv”})] [字符串] $ CSVPath )

  3. #此脚本将删除CSV中指定的用户

    $CSVFile = Import-CSV $CSVPath
    Add-PSSnapin Microsoft.SharePoint.PowerShell -EA SilentlyContinue
    

    #获取所有网站集

    $Sites = Get-SPSite -Limit All
    $AllSites = @()
    foreach($Line in $CSVFile)
    {
    foreach($Site in $Sites)
    {
    

    #获取网站集的rootweb

        $RootWeb = $Site.RootWeb
    If([bool](Get-SPUser $Line.Username -Web $RootWeb -EA SilentlyContinue) -eq $True)
    {
    

    #从用户信息列表中删除用户

        Remove-SPUser -Identity $Line.username -Web $RootWeb -Confirm:$False
    $AllSites += $RootWeb.Url
    }
    }
    if(!($AllSites).count -eq 0)
    {
    

    #Give对已删除用户的反馈

    Write-Host “Removed user $($Line.username) from:” -Fore “Magenta”
    foreach($S in $AllSites){Write-Host “- $S”}
    Write-Host “”
    $AllSites = @()
    }
    }
    

    除了这两种方法之外,请告诉我是否有任何自动化机制。

    谢谢&问候, Febin

0 个答案:

没有答案