我已经开发了SNMP扩展DLL来执行一些操作,如Shutdown,Restart等Remotely.It正常运行XP.Now我正在迁移DLL for Windows 7.我已阅读文档“session-0隔离的影响“来自MSDN并按照DLL迁移的说明进行操作。例如,我已按照链接How To ShutDown the System - msdn中的说明进行操作,并对其进行编码以进行关闭操作。但“AdjustTokenPrivileges”始终返回错误:1300并非所有引用的权限或组都分配给调用者。
有没有办法解决这个错误?如何使用VC ++为Windows 7启用关闭权限?
答案 0 :(得分:0)
是的,有一个:为调用者分配权限(在生效之前需要注销)。这需要计算机管理员或域/ AD执行操作。您也可以使用LsaAddAccountRights()
和LsaRemoveAccountRights()
以编程方式执行此操作。
考虑一下:每个用户都有一组分配的权限。可以为表示此用户的令牌启用或禁用任何已分配的。您要做的是首先启用从未分配给用户的权限。因此无法启用/激活它。
但是,我建议您发布代码,因为本地用户无法关闭系统是非常不寻常的。默认情况下,此权限通常授予在本地登录的所有人。