基于以下注册表项,我想将所有用户映射到网络驱动器。应该是什么语法或正确的位置\\<MACHINENAME>\<SHAREDFOLDER>
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"Z:"="\\??\\C:\\Documents and Settings\\All Users\\Shared Documents"
Run Code Online (Sandbox Code Playgroud)
已经尝试过以下替代方案
"Z:"="\\??\\<MACHINENAME>\\<SHAREDFOLDER>"
"Z:"="\\\\<MACHINENAME>\\<SHAREDFOLDER>"
Run Code Online (Sandbox Code Playgroud)
net use这样做更容易,无需弄乱注册表。创建一个批处理文件,上面写着:
net use z: \\MACHNAME\SHAREFOLDER
Run Code Online (Sandbox Code Playgroud)
将批处理文件放在通用启动文件夹中:C:\ProgramData\Microsoft\Windows\Start Menu\Programs\StartUp. (请注意,这ProgramData是一个隐藏文件夹,但它对管理员是可写的。)
如果您迫切需要通过直接向注册表添加内容来执行此操作,则可以使用运行键。使用此.reg文件创建一个名为MapDrive调用的条目net use Z: \\MACHNAME\SHAREFOLDER:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
"MapDrive"="net use Z: \\\\MACHNAME\\SHAREFOLDER"
Run Code Online (Sandbox Code Playgroud)
您还可以创建一个使用该Users组作为其用户并设置为仅在用户登录时运行的计划任务。
DOS Devices要在DOS Devices条目中指定 UNC 路径,您需要使用特殊语法\\?\UNC\. 我不知道??(双问号)约定从何而来,但它似乎不正确,因为问号没有在路径或.reg文件中转义。因此,要以这种方式生成网络驱动器,请使用以下.reg文件:
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\DOS Devices]
"Z:"="\\\\?\\UNC\\MACHNAME\\SHAREFOLDER"
Run Code Online (Sandbox Code Playgroud)
请注意,这\\\\?\\UNC\\实际上是.reg;中的内容。不要UNC用任何东西替换。有趣的是,这种类型的路径在普通的批处理式命令中是无效的,但它可以在此处和连接处使用。
最后,如果您使用的是专业版/企业版的 Windows ,还有一种映射驱动器的组策略方法。