小编Clo*_*der的帖子

在模拟管理员用户时使用AddIPAddress时出现问题

我试图以非管理员用户身份登录时使用AddIPAddress向NIC添加临时IP地址.AddIPAddress的MSDN文档指出,如果非管理员用户调用该函数,则返回错误ERROR_INVALID_HANDLE.

鉴于我已经在使用对LogonUser()和ImpersonateLoggedOnUser()的API调用调用AddIPAddress之前.现在我的应用程序认为它以管理员身份登录,但AddIPAddress仍然失败,并且ERROR_INVALID_HANDLE.

MSDN还声明......

"注意组策略,企业策略和对网络的其他限制可能会阻止这些功能成功完成.在尝试使用这些功能之前,请确保应用程序具有必要的网络权限."

是否可以使用模拟调用AddIPAddress?如果是这样的话?我猜我需要更改上面提到的权限,但我不知道在这方面要做什么.

任何帮助,将不胜感激!

Additonal:我还尝试使用CreateProcessAsUser调用netsh(再次以普通用户身份登录),并使用模拟管理员用户的句柄来启动该进程.始终返回错误,表明没有特权.

c c++ winapi network-programming

6
推荐指数
1
解决办法
1376
查看次数

标签 统计

c ×1

c++ ×1

network-programming ×1

winapi ×1