标题说明了一切。
用户将驱动器号映射L:
到共享\\server\share
。然后用户可以L:
从命令行访问,并且用户从命令行或资源管理器启动的任何程序都可以执行相同的操作。
然而,在同一用户下运行的服务根本看不到驱动器L:
号。相同的服务程序可以从命令行手动运行。
显然,这两种情况之间存在差异,但我找不到任何相关文档,也找不到使L:
服务可以访问驱动器号的方法。
有什么帮助吗?
标题说明了一切。
用户将驱动器号映射L:
到共享\\server\share
。然后用户可以L:
从命令行访问,并且用户从命令行或资源管理器启动的任何程序都可以执行相同的操作。
然而,在同一用户下运行的服务根本看不到驱动器L:
号。相同的服务程序可以从命令行手动运行。
显然,这两种情况之间存在差异,但我找不到任何相关文档,也找不到使L:
服务可以访问驱动器号的方法。
有什么帮助吗?
映射驱动器与登录会话相关联。该服务不会在“物理”会话中运行,即使它在同一用户帐户下运行。
如果您希望服务具有映射的驱动器,则该服务必须映射驱动器本身。这可以直接使用
WNetAddConnection2
Win32 API 或使用net.exe
. 另请注意,“持久”映射驱动器不适用于非交互式会话。我建议根本不要使用映射驱动器。而是直接访问共享。