是否有Windows C ++ API以不同的用户身份执行命令?我正在尝试从以sys管理员身份运行的服务挂载CIFS共享,并且我当前以Kiosk用户身份登录,因此当我尝试使用“net use ...”挂载共享时,我被拒绝访问。
答案 0 :(得分:0)
使用CreateProcessWithLogin
,只要您具有有效的凭据,就可以对任意用户执行命令。或者,可以结合使用LogonUser
和CreateProcessAsUser
/ CreateProcessWithToken
。
您也可以向信息亭用户授予必需的权限,而不是要求提供包括以纯文本形式存储的密码的凭据(不建议从安全POV中获取密码),以便当前用户上下文足以访问数据和/或映射网络。驱动器。
如果这不是一个选择,则您的应用程序可能具有手动配置的持久性网络驱动器作为先决条件。然后,凭据将由Windows管理。