请问如何修改用户的SID,既objectSid属性?

cihn 2007-10-15 05:26:34
using System.DirectoryServices;
//---------------------创建用户代码---------------------
DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntry NewUser = AD.Children.Add("test", "user");//添加一个test用户
NewUser.Invoke("SetPassword", "test");
//NewUser.Invoke("objectSid", objectid);
NewUser.Invoke("Put", "UserFlags", 66049); //密码永不过期
NewUser.CommitChanges();//提交修改

以上代码创建一个用户,那么这个用户的标识号类似于:S-1-5-21-310440588-250036847-580389505-312
问题是如何修改这个用户的SID?

DirectoryEntry AD = new DirectoryEntry("WinNT://" + Environment.MachineName + ",computer");
DirectoryEntry obUser = AD.Children.Find("test", "User");//查找test用户
//byte[] objectSid = obUser.Properties["objectSid"].Value as byte[];
byte[] newObjectSid = new byte[28];
//newObjectSid= getSid();//取出用户原先的SID标识
//newObjectSid为重做系统之前的用户sid号,重装过系统之后,如果不能恢复test的sid号,那么原先例如文件夹权限的test也变成了 未知用户?S-1-5-21-310440588-250036847-580389505-312,即使重新添加一个同名的test用户也不行,因为新添加的test用户的sid号和原来的sid号不同。

//obUser.Properties["objectSid"].Value = newObjectSid;//无法直接修改
请问如何修改指定用户的SID??



...全文
536 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
cihn 2007-11-10
  • 打赏
  • 举报
回复
算了,结帐吧~~
cihn 2007-10-18
  • 打赏
  • 举报
回复
不对吧,我看过有软件是可以修改的
我专门做的测试,有的软件是可以修改SID的
whycom 2007-10-17
  • 打赏
  • 举报
回复
这时系统自动生成的,基本无法修改
cihn 2007-10-16
  • 打赏
  • 举报
回复
再顶顶`~~
cihn 2007-10-15
  • 打赏
  • 举报
回复
我晕,沉的真是快呀
cihn 2007-10-15
  • 打赏
  • 举报
回复
顶上去,别沉了`、``

17,741

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 .NET Framework
社区管理员
  • .NET Framework社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧