我有两个Active Directory域A和B。
我有一个Windows Server ws1和一个Windows Server ws2,它们都充当各自域(A和B)的域控制器。
我有第三台Windows服务器ws3,必须定期运行Powershell脚本以在A的域控制器ws1上执行读取操作,处理从A的ws1获得的数据,在B的ws2上执行写入操作。
注意:域A和域B没有任何类型的信任(甚至不是单向)。它们是两个专门隔离的域。ws3机器对这些机器具有可见性,但它既不是域A也不是域B的一部分。
有一个简单的方法吗?
取决于要读取的内容-文件系统或目录数据。
文件系统:
可以使用“ net use”映射驱动器,处理目录中的数据,然后取消映射驱动器。你可以在凭据中提供域-例如net use x: \\ws1\share user:DomainA\user /pass:S0m3th1ng
,完成后net use x: /d
可以取消映射。然后net use x: \\ws2\share user:DomainB\user /pass:S0m3th1ngE15e
,net use x: /d
...我将使用安全字符串来存储密码以进行真正的实现。
目录数据: 大多数powrshell命令都接受-server和-credential作为选项。举个例子:
Get-ADGroupMember <groupname> -server ws1.example.com -credential (get-credential)
非常感谢您的回答。因此,从理论上讲,我只需要知道我要连接的两个域控制器的IP,并且在每个域控制器中,我需要有一个对DC具有读取权限的用户,我想从该DC读取和写入DC I的权限。要写入,则可以使用活动目录模块。正确的?
是的。我不得不将批处理服务器完全移出域(我不必了解安全性要求,只需遵循它们!),并使用这种方法对Active Directory域进行读/写。我通常对与特定站点关联的SRV记录进行DNS查找,而不是对域控制器主机名进行硬编码(除非涉及防火墙,并且必须使用特定的域控制器)。
完美,这就是我需要知道的。我感谢使用SRV记录的建议(我会立即检查域控制器是否正确生成了它们),以免在代码中使用常量。因此,我想我剩下要做的最后一件事就是创建两个用户,其中一个我必须阅读DC,一个我必须写入DC并具有必要的权限。谢谢