创建本地用户帐户
我有这个代码来创建一个本地 Windows 用户,
public static bool CreateLocalWindowsAccount(string username, string password, string displayName, string description, bool canChangePwd, bool pwdExpires)
{
try
{
PrincipalContext context = new PrincipalContext(ContextType.Machine);
UserPrincipal user = new UserPrincipal(context);
user.SetPassword(password);
user.DisplayName = displayName;
user.Name = username;
user.Description = description;
user.UserCannotChangePassword = canChangePwd;
user.PasswordNeverExpires = pwdExpires;
user.Save();
//now add user to "Users" group so it displays in Control Panel
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "Users");
group.Members.Add(user);
group.Save();
return true;
}
catch (Exception ex)
{
LogMessageToFile("error msg" + ex.Message);
return false;
}
}
我在我的机器上尝试了这个,它工作正常。但后来我把它放在 Windows 服务器上。并尝试在那里创建一个用户。
首先我收到错误“一般访问被拒绝错误” 所以我让用户成为管理员
,但现在我收到错误“找不到网络路径”
我该如何解决这个错误..谢谢
i have this code to create a local windows user
public static bool CreateLocalWindowsAccount(string username, string password, string displayName, string description, bool canChangePwd, bool pwdExpires)
{
try
{
PrincipalContext context = new PrincipalContext(ContextType.Machine);
UserPrincipal user = new UserPrincipal(context);
user.SetPassword(password);
user.DisplayName = displayName;
user.Name = username;
user.Description = description;
user.UserCannotChangePassword = canChangePwd;
user.PasswordNeverExpires = pwdExpires;
user.Save();
//now add user to "Users" group so it displays in Control Panel
GroupPrincipal group = GroupPrincipal.FindByIdentity(context, "Users");
group.Members.Add(user);
group.Save();
return true;
}
catch (Exception ex)
{
LogMessageToFile("error msg" + ex.Message);
return false;
}
}
i tried this on my machine it works fine. but then i put this on windows server. and tried to create a user over there.
First i got the error "General access denied error"
so i made the user an administrator
but now i get the error "The network path was not found"
how can i solve this error.. thanks
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我有一个非常类似的问题,更改第一行,
看看是否可以解决您的问题。并三次检查程序是否以管理员权限运行。
另一个问题可能是服务器有密码复杂性要求,而传递给函数的密码不满足这些要求。如果您将
ASfas123@!fda
作为密码传递,问题会消失吗?我 90% 确信这是这两个问题之一。
对于您的用户组没有保存,我不知道为什么。这是我的一个项目的片段,它正在做与您相同的事情。我看不出有什么区别。
I had a very similar issue change the first line to
see if that fixes your issue. And triple check that the program is running with administrator privileges.
The other issue it could be is the server has password complexity requirements and
password
that is being passed in to the function does not meet those requirements. Does the problem go away if you pass itASfas123@!fda
as the password?I am 90% sure it is one of those two issues.
For your user groups not saving I am not sure why. Here is a snippit from one of my projects that is doing the same thing you are. I cant see the diffrence.