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
Post a Comment