[玩转系统] 使用 PowerShell 将用户家庭驱动器迁移到 OneDrive for Business
作者:精品下载站 日期:2024-12-14 03:39:46 浏览:14 分类:玩电脑
使用 PowerShell 将用户家庭驱动器迁移到 OneDrive for Business
我们使用 Office 365 已经快三年了,我的待办事项之一是将用户主文件夹迁移到 OneDrive for Business。我去年尝试过,要求每个人自己复制或移动文件,但没有按计划进行。
所以这一次我必须改变我的策略,显然,用户(150+)不会自己移动文件。现在我知道 OneDrive 能够移动已知文件夹(桌面、文档和图片),但这些不是存储在文件服务器上的个人文件。因此,为了移动文件,我们将使用 PowerShell。
服务器存储非常昂贵,因此当每个用户在云中获得无限的存储空间时,为主文件夹购买存储空间就是浪费钱。用户的另一个优势是他们当然可以从每个位置访问他们的文件。
准备主文件夹移动
在移动文件之前,我们需要准备一些东西。我们可以配置一些 GPO 设置、查看 OneDrive 管理设置、我们需要通知用户并且必须部署脚本。
另一个潜在的问题是无效的文件名或长路径。就像 SharePoint 具有 OneDrive for Business 一样,存在一些文件限制:
- 文件或文件夹名称无效
- 无效字符 ( ” * : ?/\ |)
- 最大 15Gb 文件大小
- 400 个字符的路径限制
请在此处阅读完整的限制列表。
检查 OneDrive for Business 管理中心
在进行此类迁移之前,最好检查一下 Office 365 管理中心。定期添加新设置,您可能希望限制 OneDrive for Business 的共享选项等。
确保设置符合您的业务安全策略。
OneDrive for Business 已知文件夹移动
将已知文件夹(桌面、文档和图片)移动到 OneDrive 是您真正应该启用的功能。它只需要两个 GPO 设置即可进行设置,并且它会自行推出。您的用户可以像平常一样工作和存储文件,但它们会安全地备份在云中。
当我们从完整的 Citrix 环境切换到独立环境时,我关心的问题之一是确保用户数据的安全。当然,他们将与工作相关的文件存储在网络驱动程序上,现在又存储在 SharePoint 上。但我们都知道用户喜欢将与工作相关的文件保留在桌面上,或者他们可能会在不知情的情况下将它们保存在文档文件夹中。
是的,我们需要教育我们的用户,但是通过设置已知的文件夹,我们可以少担心一个问题。
获取您的 Office 365 租户 ID
在配置 GPO 之前,我们需要获取租户 ID。使用 PowerShell,我们只需一个命令即可获取它:
# Connect to the Azure AD
connect-azuread
# result:
Account Environment Tenant
------- ----------- ------
[email protected] AzureCloud <your tenant ID>
# Optional - Get your tenant details
get-azureadtenantdetail
成功连接到 Azure AD 后,您将在结果中获得租户 ID。如果您没有得到它,您可以随时使用 cmdlet Get-AzureAdTenantDetail,其中 objectid 是您的租户 ID。
配置 GPO
我们需要配置几个 GPO。请记住,如果您立即为整个组织启用此 GPO,您将因 OneDrive 同步而出现巨大的网络流量峰值。因此,您可能想要使用临时安全组来定位 GPO。
创建新的 GPO 并导航到以下策略:
Computer configuration\Policies\Administrative Templates\OneDrive
如果您找不到 OneDrive 组策略,则可能需要先复制 adml 和 admx 文件:
- 从工作站上的 %localappdata%\Microsoft\OneDrive\BuildNumber\adm\ 复制 .adml 和 .admx 文件
- 将 .admx 粘贴到域控制器的中央存储中:\\domain\sysvol\domain\Policies\PolicyDefinitions
- 将 .adml 粘贴到中央存储中正确的语言文件夹中
如果您尚未执行此操作,请先启用使用主 Windows 帐户静默配置 OneDrive 策略。这将为用户在首次设置 OneDrive 时节省额外的登录次数。
另外,请确保限制上传带宽,这样一个用户就不会减慢整个互联网连接的速度。将策略设置 OneDrive.exe 使用的上传带宽的最大百分比设置为 70 之类的值。
要移动已知文件夹,请启用策略将 Windows 已知文件夹静默重定向到 OneDrive 并输入租户 ID。如果您愿意,您可以启用用户通知。
还建议启用提示用户将 Windows 已知文件夹移至 OneDrive 策略以支持任何旧版 OneDrive 客户端。
移动用户主文件夹
最后一步,也是我们计划做的,是将用户主文件夹数据移动到他们的 OneDrive for Business 帐户。就我而言,文件存储在文件服务器上。因此每个用户都有一个映射到其文件夹的网络驱动器。
我们需要在 PowerShell 脚本中处理的一些事情是找到用户的 OneDrive 文件夹,检查它是否已连接并在主文件夹中留下指示,以便我们知道它已被复制。我们不会移动文件,只是复制它。我计划稍后将文件移至我们的存档服务器,以便我们始终有备份。
PowerShell 和 OneDrive
要检查 OneDrive 是否已连接,我们需要导入 DLL 文件来读取 OneDrive 状态。从此 GitHub 存储库下载 OneDriveLib.dll。将其放置在每个用户都可以访问的位置,我建议使用 netlogon,但任何其他网络共享也可以工作。
首先,我们导入DLL文件:
Import-Module \contoso.local\netlogon\OnedriveLib.dll
接下来,我们需要获取用户 OneDrive 文件夹的路径。该文件夹的默认位置是用户配置文件文件夹。如果您有多个 OneDrive 文件夹,则可以使用 USERPROFILE 变量,否则,我建议使用 OneDriveCommercial 变量。
#Find OneDrive folder
$path = $env:OneDriveCommercial
# Alternative:
# $path = $env:USERPROFILE + '\OneDrive - LazyAdmin'
要检查我们是否拥有正确的文件夹以及 OneDrive 是否已连接,我们可以获取 OneDrive 状态:
#Get OneDrive status
$ODStatus = Get-ODStatus -ByPath $path
# or in short:
$ODStatus = Get-ODStatus -ByPath $env:OneDriveCommercial
如果已连接,它将返回“UpToDate”或“Syncing”。因此我们检查结果并使用 robocopy 来复制文件。
if ($ODStatus -eq 'UpToDate' -or $ODStatus -eq 'Syncing') {
#OneDrive is connected
write-host 'OneDrive connected and found'
robocopy $env:HOMESHARE $env:OneDriveCommercial /E /SEC
new-item $env:HOMESHARE -name '_FILES COPIED TO ONEDRIVE.txt' -ItemType 'file' -Value 'Files Copied'
}
正如您在最后一行看到的,我们创建了一个新项目,一个文本文件。稍后,我们运行 PowerShell 脚本来检查在存档之前是否迁移了每个主驱动器文件夹。
结论
在登录用户的上下文模式下运行 PowerShell,您可以为此使用 PDQ Deploy、GPO(登录脚本)或 SCCM。如果您有很多用户,请确保分散部署以限制对网络的影响。
使用 PowerShell 确保检查可用的环境变量。在我第一次尝试制作此脚本时,我尝试使用用户主文件夹的驱动器号。那没有成功。在寻找替代方案时,我注意到我们可以使用 $env:HomeDrive 它将返回驱动器号或 $env:HomeShare 它将返回实际路径。
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag