我正在致力于为新电脑自动设置 OneDrive,对于这种事情我还很陌生。
我需要自动在用户计算机上设置 Sharepoint 共享库。这样,用户就可以在 Windows 文件资源管理器中拥有所有共享库。此 Sharepoint 由我们的 Office365 帐户提供。
我读过Microsoft 文档并按照“自动配置 SharePoint 站点同步”部分中的说明,使用所需的必要数据构建 URL。
但是我的 powershell 脚本中有一个我不明白的问题。
当我运行 powershell 命令时Start-Process "odopen://sync/?siteId[...]"
,OneDrive 窗口打开,我必须设置帐户。但在该过程结束时,与 OneDrive 同步的唯一内容是用户的个人(企业)OneDrive,而不是共享库。
OneDrive 创建的文件夹是:C:\Users%username\OneDrive -
我想要的文件夹是:C:\Users%username<tenant name><Shared Librairy>
就好像 OneDrive 并不关心 URL 中传递的所有参数。
仅供参考,我在全新的 Windows 10 VM 中运行此脚本。
感谢您的帮助
答案1
因此,我们必须对参数进行 URL 编码,如下所示:
Add-Type -AssemblyName System.Web
$WebURL = [System.Web.HttpUtility]::UrlEncode("https://plop.sharepoint.com")
$SiteID = [System.Web.HttpUtility]::UrlEncode("{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx")
$WebID = [System.Web.HttpUtility]::UrlEncode("{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}")
$ListID = [System.Web.HttpUtility]::UrlEncode("{xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx}")
$WebTitle = [System.Web.HttpUtility]::UrlEncode("PLOP")
$ListTitle = [System.Web.HttpUtility]::UrlEncode("Folder")
$UserName = [System.Web.HttpUtility]::UrlEncode("[email protected]")
Write-Output "Configure OneDrive"
$odopen = "odopen://sync/?onPrem=0&webTemplate=68&libraryType=4&siteId=" + $SiteID + "&webId=" + $WebID + "&webUrl=" + $webURL + "&listId=" + $ListID + "&userEmail=" + $UserName + "&webTitle=" + $WebTitle + "&listTitle=" + $ListTitle
Start-Process $odopen
就这样...