动态创建用户并使用 DPAPI
Creating User Dynamically And Using DPAPI
对于某些项目,我需要:
动态创建本地用户帐户(为此我使用 .NET 框架中的 UserPrincipal class)
模拟那个用户(我写了一些 classes 调用本地 LogonUser (advapi32.dll)
使用DPAPI加密部分用户数据。我还有一些 classes 调用本机 CryptProtectData 和 CryptUnprotectData (crypt32.dll)
这里的问题是,当动态创建用户时,不会创建用户特定的文件夹,即使我调用 LogonUser 也是如此。
由于 DPAPI 将查找这些文件夹,而文件夹不存在,因此调用将失败。
现在,如果我手动执行用户登录,就会创建这些文件夹,之后一切都很好。但是,我需要一种无需手动登录即可自动创建这些文件夹的方法。
有办法吗?
我发现 userenv.dll 中有函数 LoadUserProfile。
这就是我要找的。
现在,一切正常。
对于某些项目,我需要:
动态创建本地用户帐户(为此我使用 .NET 框架中的 UserPrincipal class)
模拟那个用户(我写了一些 classes 调用本地 LogonUser (advapi32.dll)
使用DPAPI加密部分用户数据。我还有一些 classes 调用本机 CryptProtectData 和 CryptUnprotectData (crypt32.dll)
这里的问题是,当动态创建用户时,不会创建用户特定的文件夹,即使我调用 LogonUser 也是如此。
由于 DPAPI 将查找这些文件夹,而文件夹不存在,因此调用将失败。
现在,如果我手动执行用户登录,就会创建这些文件夹,之后一切都很好。但是,我需要一种无需手动登录即可自动创建这些文件夹的方法。
有办法吗?
我发现 userenv.dll 中有函数 LoadUserProfile。 这就是我要找的。
现在,一切正常。