获取映射驱动器列表作为Windows服务。

时间:2017-11-15 00:04:08

标签: c# service windows-services wmi mapped-drive

我正在尝试将我的计算机上的映射驱动器列表作为Windows服务。如果我将代码作为普通程序运行,我可以得到一个正确的列表,但不能作为Windows服务。我已经看过几个关于这个主题的帖子,但没有一个提供明确的解决方案。

我在创建服务的同一帐户上运行该服务,该服务具有管理员权限。

有谁知道如何正确地做到这一点?

2 个答案:

答案 0 :(得分:2)

不可能

请参阅以下MSDN文章

https://msdn.microsoft.com/en-us/library/windows/desktop/ms685143%28v=vs.85%29.aspx?f=255&MSPPError=-2147217396

如果将服务配置为在用户帐户下运行,则系统始终为该用户创建新的登录会话,并在该新登录会话中启动该服务。因此,服务无法管理在用户的其他会话中建立的驱动器映射。

答案 1 :(得分:1)

如果您在启用了UAC的Windows 7中,则管理会话具有与常规用户会话不同的映射驱动器。打开管理命令提示符并运行net show并检查映射的驱动器状态。

更新:我在Windows 10工作站上设置了EnabledLinkedConnections,因此我在那里看不到这个问题。