Getting User from Active Directory through PowerShell and updating SharePoint List


i have created windows 2012 r2 domain controller bellow

  • server name :- server
  • domain :- milind.intra

i have users in user container , not user have manager in active directory

now have written below codes see data coming or not 

add-pssnapin microsoft.sharepoint.powershell  $objdomain = new-object system.directoryservices.directoryentry("ldap://cn=users,dc=milind,dc=intra")  $objsearcher = new-object system.directoryservices.directorysearcher  $objsearcher.searchroot = $objdomain  $objsearcher.pagesize = 1000  $objsearcher.filter = $strfilter  $objsearcher.searchscope = "subtree"  $vardomain = "milind"      $colproplist = "samaccountname","title","department","manager","name"  foreach ($i in $colproplist) {   $objsearcher.propertiestoload.add($i)  }     $colresults = $objsearcher.findall()  $manresults = $objsearcher.findall()  $sites = get-spsite -limit "all"  $j = 0     foreach ($objresult in $colresults) {   $objitem = $objresult.properties   $userid = "i:0#.w|"+$vardomain+"\"+[string]$objitem.samaccountname      foreach ($site in $sites) {    $web=$site.rootweb    set-spuser -identity $userid -syncfromad -web $site.url -erroraction silentlycontinue    if(!$error[$j]) {     $list = $web.lists["user information list"]     $query = new-object microsoft.sharepoint.spquery     $query.query = "<where><eq><fieldref name='name' /><value type='text'>$userid</value></eq></where>"     foreach ($item in $list.getitems($query)) {      write-host "title " $objitem.title      write-host "department " $objitem.department      write-host "name " $objitem.name      write-host "samaccountname " $objitem.samaccountname      write-host "manager " $objitem.manager     }     $j = $j + 1    }        $error.clear()    $web.dispose()    $site.dispose()   }  }

where user have manager getting "cn=manager,cn=users,dc=milind,dc=intra" below code manager if have manager below

if($objitem.manager){  			$manager = $manresults | where-object {$_.properties.distinguishedname -eq $objitem.manager}  			$managerclean = "i:0#.w|"+$vardomain+"\"+[string]$manager.properties.samaccountname  			$spmanager = get-spuser -identity $managerclean -web $site.url  			write-host "manager" $objitem.manager}  		}
cannot manager null, next not filter manager object. don't know how can that. please me

 

this help:

if($objitem.manager){ 	$manager = get-aduser $objitem.manager 	$managerclean = "$vardomain\$($manager.samaccountname){ 	$spmanager = get-spuser -identity $managerclean -web $site.url 	write-host "manager" $objitem.manager }

ask person wrote fcode understand how use bits. there noneed doing.  there many mistakes , errors in script.

on 2012r2 dc have ad cmdlets. use them.


\_(ツ)_/



Windows Server  >  Windows PowerShell



Comments

Popular posts from this blog

DCOM received error "2147746132" from...

DFSR RPC replication errors 5014 1726 with large files over VPN

ADFS 3.0 Event ID 4625 | An Error occurred During Logon | Status: 0xC000035B