我正在尝试从Windows服务连接到远程密码保护的共享文件夹,该服务作为LocalSystem帐户运行.似乎LocalSystem帐户无法使用WNetAddConnection2()或类似的调用直接访问受密码保护的网络共享.
谁能证实这一点?
我已经读过,模仿管理员用户可能就是这样.
我尝试在WNetAddConnection2()之前使用logonUser()和ImpersonateLoggedOnUser(),看起来网络路径的安装成功,但实际访问(例如,枚举远程文件夹中的文件)失败.
有任何想法吗?
谁能证实这一点?
我已经读过,模仿管理员用户可能就是这样.
我尝试在WNetAddConnection2()之前使用logonUser()和ImpersonateLoggedOnUser(),看起来网络路径的安装成功,但实际访问(例如,枚举远程文件夹中的文件)失败.
有任何想法吗?
谢谢.
告诉我信任我只在域环境中工作,没有受密码保护的网络共享,但我知道有两种主要的连接方式:WNetAddConnection2 API和NetUseAdd API.我建议您尝试Level等于1的NetUseAdd函数(USE_INFO_1).我只使用了带有ui2_username,ui2_domainname和ui2_password的USE_INFO_2,但是USE_INFO_1只有ui1_password,因此它看起来像是一个连接到受密码保护的共享的函数.
顺便说一下,logonUser()实际上没有任何意义,因为它在本地计算机上进行本地登录,并且您需要与远程计算机建立会话.这做WNetAddConnection2和NetUseAdd功能.