2009-09-30 2 views
0

공유 지점에서 특정 사용자를 제거하려고 시도 중입니다.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 
    } 
} 

답변

1

$theuser = $verify_web.AllUsers.Item("MYDOM\testuser") 
$TheNewGroup.RemoveUser($theuser) 
1

음, 거기에 여러 가지 방법 (위의 내 지저분한 코드에 대한 죄송합니다)를 anwser 발견 사이트 모음에서 사용자를 삭제하는 방법 :

,
  1. 당신은

찾을 수 여러 가지 방법 SharePointDiary에서 프로그래밍 C#을 사용 셰어 포인트에서 사용자를 제거 SharePoint 웹 인터페이스를 사용하여 사용자가 PowerShell을 사용하여 SharePoint 사이트에서

  • 삭제 사용자 (대량도 가능 삭제) 삭제할 수 있습니다 .com : Delete Users from SharePoint Site Collection

  • 관련 문제