Как поделиться файлом OneDrive с помощью powershell? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть 3 файла в подпапке моего OneDrive, скажем «Документы / TopFolder / SubFolder»

Я могу перечислить 3 файла в этом подпапке, используя

Get-PnPFolder -FolderRelativeUrl "Documens/TopFolder/SubFolder"
File1.xlsx
File2.xlsx
File3.xlsx

Теперь я хочу поделиться этими 3 файлами с 3 разными пользователями, скажем

  • File1 с User1@abc.com
  • File2 с User2@abc.com
  • Файл3 с User3@abc.com

Я являюсь пользователем в своей организации, поэтому у меня нет доступа администратора к точке доступа. Я только начал изучать PowerShell.

Вопросы:

  1. Как получить эти 3 файла в Get-PnPListItem?

  2. Как дать разрешение для каждого файла с помощью windows powershell?

  3. Как получить ссылку на annonymus weburl для каждого файла, которым вы хотите поделиться индивидуальный пользователь?

Ответы [ 2 ]

0 голосов
/ 17 апреля 2020

Я нашел способ заполнить базы ListItem на FileNames и получить идентификационный номер. Как показано ниже

#Set Variables
$SiteURL= "https://abc-my.sharepoint.com/personal/Testing/"
#Connect to PnP Online
Connect-PnPOnline -Url $SiteURL -UseWebLogin

$ListName="Documents"
#Get All Files from the document library - In batches of 500 and filter File Names Starting with "File_"
$ListItems = Get-PnPListItem -List $ListName -PageSize 500 | Where {$_["FileLeafRef"] -like "File_*"} 
ForEach($Item in $ListItems)
{


    $DocumentsData += New-Object PSObject -Property @{
    FileName = $Item.FieldValues['FileLeafRef']
    FileURL = $Item.FieldValues['FileRef']
    FileID = $Item.FieldValues['ID']
    }

}

$DocumentsData 

Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'Test1@abc.com' -AddRole 'Contribute'

Send-PnPMail -To Test1@abc.com -Cc Test2@abc.com  -Subject "Your OD File Link" -Body "Here is the WEB URL LINK"

Существует ли какой-либо PnpAPI для получения ссылки анонимного URL для файла в OneDrive, который я могу вставить в строку -Body электронного письма?

0 голосов
/ 16 апреля 2020

Вы можете использовать Set-PnPListItemPermission для предоставления пользовательских разрешений. Пример:

Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute'

https://docs.microsoft.com/en-us/powershell/module/sharepoint-pnp/set-pnplistitempermission?view=sharepoint-ps

Ниже могут быть полезны следующие статьи:

https://www.sharepointdiary.com/2016/09/sharepoint-online-set-folder-permissions-powershell.html

https://www.sharepointdiary.com/2017/11/sharepoint-online-grant-permission-to-list-item-using-powershell.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...