List Shared files + File Size in ODB

%3CLINGO-SUB%20id%3D%22lingo-sub-59134%22%20slang%3D%22en-US%22%3EList%20Shared%20files%20%2B%20File%20Size%20in%20ODB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-59134%22%20slang%3D%22en-US%22%3E%3CP%3Ei%20haven't%20found%20any%20API%20or%20Powershell%20cmdlet%20to%20get%20for%20each%20user%20a%20list%20of%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E-%20shared%20files%3C%2FP%3E%3CP%3E-%20with%20the%20corresponding%20file%20size%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E(also%20the%20lastest%20news%20around%20Graph%20API%20does%20not%20help%20here%20%3A(%3C%2Fimg%3E%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ei%20would%20like%20to%20use%20this%26nbsp%3B%20information%20to%20get%20a%20better%20understanding%20if%20users%20are%20mainly%20using%20onedrive%20for%20private%20purpose%20or%20if%20they%20share%20files%20whenever%20they%20upload%20them%20to%20onedrive.%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3EHaving%20metadata%20information%20such%20as%20(filesize%2C%20file%20type%2C%20to%20whom%20the%20file%20is%20shared%2C%20etc..)%20would%20further%20help%20to%20understand%20the%20user%20behavior%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3Ethanks%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-LABS%20id%3D%22lingo-labs-59134%22%20slang%3D%22en-US%22%3E%3CLINGO-LABEL%3EOneDrive%20for%20Business%3C%2FLINGO-LABEL%3E%3C%2FLINGO-LABS%3E%3CLINGO-SUB%20id%3D%22lingo-sub-59628%22%20slang%3D%22en-US%22%3ERe%3A%20List%20Shared%20files%20%2B%20File%20Size%20in%20ODB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-59628%22%20slang%3D%22en-US%22%3E%3CP%3E%26nbsp%3BPls%20check%20below%20script%20to%20get%20Sharing%20details%20of%20single%20user%20ODFB%20.%20and%20You%20need%20use%20PnP%20Sharepoint%20Online%20%26nbsp%3BPowershell%20module.%26nbsp%3B%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CPRE%3E%24cred%20%3D%20Get-Credential%0AConnect-PnPOnline%20-Url%20%22https%3A%2F%2Ftenantname-my.sharepoint.com%2Fpersonal%2Fadmin_tenantname_onmicrosoft_com%22%20-Credentials%20%24cred%0A%24Ctx%3D%20Get-PnPContext%0A%24lists%3D%20Get-PnPListItem%20-List%20%22documents%22%0A%24Files%20%3D%20%40()%0Aforeach(%20%24list%20in%20%24lists)%0A%7B%0A%20%20%20%20%24FDetails%20%3D%20%22%22%20%7C%20Select%20%22FilePath%22%2C%22SharedWith%22%2C%22FileSizeInMB%22%0A%20%20%20%20%23Check%20weather%20is%20file%20or%20not%0A%20%20%20%20If(%24list.FileSystemObjectType%20-ne%20%22Folder%22)%0A%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%24roles%3D%20%24list.RoleAssignments%0A%20%20%20%20%20%20%20%20%24Ctx.load(%24roles)%0A%20%20%20%20%20%20%20%20%24Ctx.ExecuteQuery()%0A%20%20%20%20%20%20%20%20%23check%20file%20is%20shared%20%0A%20%20%20%20%20%20%20%20If(%24roles.Count%20-gt%200)%0A%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%23Join%20Shared%20UserName%20%0A%20%20%20%20%20%20%20%20%20%20%24rec%20%3D%20''%0A%20%20%20%20%20%20%20%20%20%20for%20(%24i%20%3D%20%24roles.Count%20-1%3B%20%24i%20-ge%200%20%3B%20--%24i)%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%7B%20%20%0A%20%20%20%20%20%20%20%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24m%3D%24roles%5B%24i%5D.Member%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24Ctx.Load(%24m)%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24Ctx.ExecuteQuery()%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20If(%24rec)%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24rec%3D%24rec%20%2B%20%22%3B%22%20%2B%20%24m.Title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20Else%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%24rec%3D%24m.Title%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%20%20%0A%20%20%20%20%20%20%20%20%20%20%20%20%24Ctx.ExecuteQuery()%0A%20%20%20%20%20%20%20%20%20%20%20%20%23Add%20File%20Informations%0A%20%20%20%20%20%20%20%20%20%20%20%20%24FDetails.FilePath%3D%24list.FieldValues%5B%22FileRef%22%5D%0A%20%20%20%20%20%20%20%20%20%20%20%20%24FDetails.SharedWith%20%3D%24rec%0A%20%20%20%20%20%20%20%20%20%20%20%20%24FDetails.FileSizeInMB%3D%20%24list.FieldValues%5B%22File_x0020_Size%22%5D%2F1mb%0A%20%20%20%20%20%20%20%20%20%20%20%20%24Files%20%2B%3D%24FDetails%0A%20%20%20%20%20%20%20%20%20%20%20%20%24FDetails%20%3D%24null%0A%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%7D%0A%20%20%7D%0A%20%20%24Files%20%7Cfl%3C%2FPRE%3E%3CP%3ENote%3A%3C%2FP%3E%3CP%3EIf%20you%20want%20to%20check%20%3CSPAN%3Eeach%3C%2FSPAN%3E%20users%20ODFB%20sharing%20details%2C%20you%20need%20to%20add%20secondary%20site%20collection%20admin%20for%20each%20OFDB%20users%2C%20You%20can%20refer%20below%20link%20for%20add%20secondary%20admin%20to%20ODFB%20users%3C%2FP%3E%3CP%3E%26nbsp%3B%3C%2FP%3E%3CP%3E%3CA%20href%3D%22http%3A%2F%2Fwww.jijitechnologies.com%2Fblogs%2Fadd-remove-secondary-site-collection-admin-to-all-onedrive-for-business-users%22%20target%3D%22_blank%22%20rel%3D%22nofollow%20noopener%20noreferrer%22%3Ehttp%3A%2F%2Fwww.jijitechnologies.com%2Fblogs%2Fadd-remove-secondary-site-collection-admin-to-all-onedrive-for-business-users%3C%2FA%3E%20%26nbsp%3B%3C%2FP%3E%3C%2FLINGO-BODY%3E%3CLINGO-SUB%20id%3D%22lingo-sub-59167%22%20slang%3D%22en-US%22%3ERe%3A%20List%20Shared%20files%20%2B%20File%20Size%20in%20ODB%3C%2FLINGO-SUB%3E%3CLINGO-BODY%20id%3D%22lingo-body-59167%22%20slang%3D%22en-US%22%3E%3CP%3EA%20%22Shared%20by%20me%22%20virtual%20folder%20(or%20something%20similar)%20has%20been%20promised%2C%20but%20without%20ETA.%3C%2FP%3E%3CP%3EMaybe%20it%20could%20come%20with%20some%20PowerShell%20cmdlet.%20We%20will%20see...%3C%2FP%3E%3C%2FLINGO-BODY%3E
Super Contributor

i haven't found any API or Powershell cmdlet to get for each user a list of

 

- shared files

- with the corresponding file size

 

(also the lastest news around Graph API does not help here :(

 

i would like to use this  information to get a better understanding if users are mainly using onedrive for private purpose or if they share files whenever they upload them to onedrive.

 

Having metadata information such as (filesize, file type, to whom the file is shared, etc..) would further help to understand the user behavior

 

thanks

2 Replies

A "Shared by me" virtual folder (or something similar) has been promised, but without ETA.

Maybe it could come with some PowerShell cmdlet. We will see...

 Pls check below script to get Sharing details of single user ODFB . and You need use PnP Sharepoint Online  Powershell module. 

 

$cred = Get-Credential
Connect-PnPOnline -Url "https://tenantname-my.sharepoint.com/personal/admin_tenantname_onmicrosoft_com" -Credentials $cred
$Ctx= Get-PnPContext
$lists= Get-PnPListItem -List "documents"
$Files = @()
foreach( $list in $lists)
{
    $FDetails = "" | Select "FilePath","SharedWith","FileSizeInMB"
    #Check weather is file or not
    If($list.FileSystemObjectType -ne "Folder")
    {
        $roles= $list.RoleAssignments
        $Ctx.load($roles)
        $Ctx.ExecuteQuery()
        #check file is shared 
        If($roles.Count -gt 0)
        {
          #Join Shared UserName 
          $rec = ''
          for ($i = $roles.Count -1; $i -ge 0 ; --$i)  
           {  
         
                        $m=$roles[$i].Member
                        $Ctx.Load($m)
                        $Ctx.ExecuteQuery()
                         If($rec) 
                         {
                          $rec=$rec + ";" + $m.Title
                         } 
                        Else
                         {
                          $rec=$m.Title
                         }


            }  
            $Ctx.ExecuteQuery()
            #Add File Informations
            $FDetails.FilePath=$list.FieldValues["FileRef"]
            $FDetails.SharedWith =$rec
            $FDetails.FileSizeInMB= $list.FieldValues["File_x0020_Size"]/1mb
            $Files +=$FDetails
            $FDetails =$null
          }

      }
  }
  $Files |fl

Note:

If you want to check each users ODFB sharing details, you need to add secondary site collection admin for each OFDB users, You can refer below link for add secondary admin to ODFB users

 

http://www.jijitechnologies.com/blogs/add-remove-secondary-site-collection-admin-to-all-onedrive-for...