【发布时间】:2012-03-28 10:07:14
【问题描述】:
我需要使用本地系统用户通过 Windows 服务访问共享资源。我尝试了UserImpersonation 类,但它只适用于调试。当我安装我的服务时,我无法访问共享文件夹。
我已阅读有关此主题的信息,我想知道是否唯一的方法是创建具有网络凭据的用户并使用该用户执行服务。
【问题讨论】:
标签: c# windows-services networkcredentials
我需要使用本地系统用户通过 Windows 服务访问共享资源。我尝试了UserImpersonation 类,但它只适用于调试。当我安装我的服务时,我无法访问共享文件夹。
我已阅读有关此主题的信息,我想知道是否唯一的方法是创建具有网络凭据的用户并使用该用户执行服务。
【问题讨论】:
标签: c# windows-services networkcredentials
您可以让服务在您已为其配置网络访问的帐户(不一定是屏幕截图中的 NetworkService)下运行。为此,请转到您的服务管理器,然后右键单击属性:
访问网络共享时需要考虑两种权限,您必须确保您使用的帐户具有:Share and NTFS permissions
【讨论】:
您问题的最后一段包含答案。该服务在特定用户的上下文中运行。您需要确保该用户可以访问相关资源。出于这个原因,仅为特定服务创建专用用户并不少见。
【讨论】: