如何使用 powershell 共享 OneDrive 文件?
How to share a OneDrive file using powershell?
我的 OneDrive 的子焊盘中有 3 个文件,比如 "Documens/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
- File3 与 User3@abc.com
我是我所在组织的用户,所以我没有共享点的管理员访问权限。我刚开始学习powershell。
问题是:
如何将这3个文件放入Get-PnPListItem
?
如何使用 windows powershell 为每个文件授予权限?
如何获取每个文件的 annonymus weburl link 以与个人用户共享?
您可以使用 Set-PnPListItemPermission
来授予用户权限。示例:
Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute'
以下文章可能对您有所帮助:
https://www.sharepointdiary.com/2016/09/sharepoint-online-set-folder-permissions-powershell.html
我找到了一种根据文件名填充 ListItem 并获取标识号的方法。
如下
#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 可以为 OneDrive 上的文件获取匿名 URL link,我可以将其放入电子邮件的 -Body 字符串中?
我的 OneDrive 的子焊盘中有 3 个文件,比如 "Documens/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
- File3 与 User3@abc.com
我是我所在组织的用户,所以我没有共享点的管理员访问权限。我刚开始学习powershell。
问题是:
如何将这3个文件放入
Get-PnPListItem
?如何使用 windows powershell 为每个文件授予权限?
如何获取每个文件的 annonymus weburl link 以与个人用户共享?
您可以使用 Set-PnPListItemPermission
来授予用户权限。示例:
Set-PnPListItemPermission -List 'Documents' -Identity 1 -User 'user@contoso.com' -AddRole 'Contribute'
以下文章可能对您有所帮助:
https://www.sharepointdiary.com/2016/09/sharepoint-online-set-folder-permissions-powershell.html
我找到了一种根据文件名填充 ListItem 并获取标识号的方法。 如下
#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 可以为 OneDrive 上的文件获取匿名 URL link,我可以将其放入电子邮件的 -Body 字符串中?