我正在用 Go 编写一个用户数据同步服务,该服务应该使用包含客户用户数据的 CSV 和 XML 文件。CSV 部分非常简单。
关于 XML,我希望客户遵守非常具体的 XML 架构,同时又不要求他们在终端上进行自定义编码或其他操作。因此,我正在研究哪些工具可用于(或适用于)所有 Windows Server 版本,以生成我可以连续读取的内容(可能不包括 WS 2003,因为据我所知,您在这里只能使用 CSV 或 LDIF 导出(我知道 WS 2003 已停产,但客户永远是对的,即使他们错了))。
在 Google 上搜索,发现有很多使用 VB 和 PS 脚本进行自定义 AD 导出的示例,但(我自己不是 Windows 用户 — 更不用说 Windows Server 管理员了)我感觉对此类脚本的需求往往源于非常具体的需求,而且我想知道是否没有标准化的 Microsofty 方法从 Active Directory 转储 XML 数据,以便客户更容易使用并满足我的需求。
提前致谢,丹尼尔
答案1
Powershell 将输出为 XML,但这不是 Windows 处理用户帐户导入和导出的常用方法。您已经提到了常见的本机数据格式 - CSV 和 LDIF。
我不知道您为什么选择一种不常用的 AD 导入/导出格式。阻力最小的路径是使用本机功能。采用另一种方法通常需要您进行大量的编码来处理。
但是,嘿,只要您排除 Win2k3,您就可以将Get-ADUser -properties * | Export-Clixml
其用于客户端。/编辑 - 实际上,这有一些痛苦的可能性,因为 Get-ADUser 返回的一些内容是您需要扩展或以其他方式处理的 PS 对象,并且给定客户的 AD 架构可能与您的预期不符。同样,这就是您不使用本机工具所要处理的问题。祝你好运。