如何在同一Azure VM中为不同用户配置相同的私有驱动器号
可行实现方案(适配Windows Azure VM场景)
所有方案均基于Windows系统原生能力实现,无需额外第三方工具。
方案1:Volume GUID映射+登录脚本+NTFS权限控制(最稳定)
- 步骤1:删除磁盘全局盘符
打开磁盘管理工具diskmgmt.msc,分别右键E盘、F盘,选择「更改驱动器号和路径」,删除现有E、F盘符,操作完成后两块磁盘无全局盘符,所有用户默认不可见。 - 步骤2:配置NTFS权限隔离
给两块磁盘设置独立访问权限:- 原E盘(用户1私有):仅保留用户1、系统账户的完全控制权限,删除用户2、Users组等所有无关主体的访问权限
- 原F盘(用户2私有):仅保留用户2、系统账户的完全控制权限,删除用户1、Users组等所有无关主体的访问权限
- 步骤3:获取磁盘Volume GUID
打开管理员权限cmd,执行mountvol命令,记录原E盘、原F盘对应的Volume GUID(格式为Volume{xxxx-xxxx-xxxx-xxxx}) - 步骤4:配置用户登录脚本
分别为两个用户编写登录脚本:- 用户1登录脚本内容:
mountvol D: \\?\Volume{原E盘的GUID}\ - 用户2登录脚本内容:
mountvol D: \\?\Volume{原F盘的GUID}\
打开本地组策略编辑器gpedit.msc,在「用户配置>Windows设置>脚本(登录/注销)」中,分别给两个用户绑定对应的登录脚本。
- 用户1登录脚本内容:
- 步骤5:配置驱动器隐藏策略
在组策略的「用户配置>管理模板>Windows组件>文件资源管理器」中,启用两个策略:- 「隐藏“此电脑”中的这些指定的驱动器」:设置为「仅限制D盘以外的所有驱动器」
- 「防止从“此电脑”访问驱动器」:设置为「仅限制D盘以外的所有驱动器」
该策略仅应用到两个普通用户,管理员不受限制。
方案2:目录挂载+subst映射(轻量易配置)
如果不需要对磁盘做离线、快照等单独运维操作,可选择该方案:
- 步骤1:删除原有E、F盘符后,将两块盘分别挂载到本地空目录,比如原E盘挂载到
C:\PrivateDisk\User1,原F盘挂载到C:\PrivateDisk\User2 - 步骤2:给两个挂载目录分别设置对应的NTFS权限,和方案1的权限配置规则一致
- 步骤3:配置用户登录脚本,用户登录时执行subst命令映射盘符:
- 用户1脚本:
subst D: C:\PrivateDisk\User1 - 用户2脚本:
subst D: C:\PrivateDisk\User2
- 用户1脚本:
- 步骤4:同样配置驱动器隐藏策略,仅开放D盘可见。
注意事项
- 不要给两个普通用户分配本地管理员权限,避免权限和盘符配置被篡改
- 如需对磁盘做扩容、快照等运维操作,先临时给磁盘分配全局盘符,操作完成后删除即可
- 如果VM已加入Active Directory域,可直接用域组策略完成所有配置,无需逐台VM操作
内容的提问来源于stack exchange,提问作者Jagdish Idhate
相关产品推荐
相关产品推荐

