我正在尝试创建一个应用程序,它可以自动创建和配置同一本地网络中2台PC之间的合并复制。
为实现这一目标,我需要在两台PC上分别创建一个用户,该用户应具有完全相同的用户名和密码。
网络上没有DOMAIN。
我在两台机器和复制工作中使用GUI完成了所有工作,现在我需要使用C#来完成这项工作。复制部分使用SQL Server 2012 RMO和SMO SDK完成。
谷歌搜索时,我发现this(以及许多其他与此大致相同的结果)。但我相信,这些所有示例都适用于本地PC,因为看起来人们并没有像我那样得到错误。
我的示例代码是:
DirectoryEntry directoryEntry = new DirectoryEntry(@"WinNT://WORKGROUP/WIN7-PC,computer", @"admin", "123456");
DirectoryEntry user = directoryEntry.Children.Add("RepTest", "user");
user.Invoke("SetPassword", new object[] { "rep123" });
user.CommitChanges();
我在user.CommitChanges()
说Access is denied
时收到错误,所以我认为我在向new DirectoryEntry(...
提供的身份验证详细信息中犯了一个错误。我解决了这个问题并再次尝试:
DirectoryEntry directoryEntry = new DirectoryEntry(@"WinNT://WORKGROUP/WIN7-PC,computer", @"win7-pc\admin", "123456");
DirectoryEntry user = directoryEntry.Children.Add("RepTest", "user");
user.Invoke("SetPassword", new object[] { "rep123" });
user.CommitChanges();
现在我在.Children.Add(...
行Multiple connections to a server or shared resource by the same user, using more than one user name, are not allowed.
当我第一次这样做时,我检查了Path
user
WinNT://WORKGROUP/WIN7-PC/RepTest
对象,channel.list
,不确定它是否与任何事情有关,但可能是尝试在以管理员用户身份连接时使用尚未创建的新用户文件夹?
有没有办法让这件事情发生?