Powershell从共享点中的特定组中删除用户
问题描述:
我试图从共享点中删除特定用户并且撞到了墙上。Powershell从共享点中的特定组中删除用户
我不断收到以下错误
You cannot call a method on a null-valued expression.
代码:
function verifyUsers
{
$verify_sitepath="https://extranet.mydomain.com"
$verify_site=new-object Microsoft.SharePoint.SPSite($verify_sitepath)
$verify_web=$verify_site.Rootweb
$verify_web.site.url
$verify_groups = $verify_web.groups | ? {$_.Name -match "^.*$CurrentGroup" }
foreach($verify_group in $verify_groups)
{
#Write-Output "+ $($verify_group.Name)"
foreach($verify_user in $verify_group.users)
{
$verify_user = $verify_user -replace "MYDOM\\",""
Write-Output "$verify_user" | Out-File -filepath "$splist$currentGroup.txt" -append
}
}
$strReference = get-Content "C:\Powershell\Users from SharePoint\$currentgroup.txt"
$strDifference = get-Content "C:\Powershell\Users in groups\$currentgroup.txt"
Compare-Object $strReference $strDifference
Compare-Object $strReference $strDifference | `
Where-Object { $_.SideIndicator -eq "<=" } | `
ForEach-Object {
if ($_.InputObject -eq "testuser ")
{
Write-Host "testuser HAHAHAHAHA"
$TheNewGroup = $OpenWeb.SiteGroups | Where-Object {($_.Name -match $currentGroup)}
"group Name: $TheNewGroup.Name"
#$TheNewGroup.deleteuser("MYDOM\" + $_.InputObject)
#$web.Update()
$TheNewGroup.SiteUsers.Remove("MYDOM\testuser ")
}
Write-Host $_.InputObject
"Deleting user: {0} from $currentgroup" -f $_.InputObject
}
}
答
发现的anwser(对不起我上面的乱码)
$theuser = $verify_web.AllUsers.Item("MYDOM\testuser")
$TheNewGroup.RemoveUser($theuser)
答
嗯,有多种方式从SharePoint网站集中删除用户:
- 您可以删除使用SharePoint Web界面的用户
- 从SharePoint网站删除用户使用PowerShell(散装也删除可能)
- 编程方式使用C#在SharePointDiary
发现各种可能的方式拆除SharePoint用户网:Delete Users from SharePoint Site Collection