请问如何修改用户的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??