Um dos problemas que você terá aqui é que uma zona do Active Directory é muito mais do que apenas um arquivo de zona normal, como você poderia esperar com bind
. Quero dizer, sim, é uma zona normal, mas também tem permissões integradas que não podem ser prontamente copiadas para backup em um formato de texto simples.
(Eu suponho que você esteja atrás de algo em texto simples devido à menção do git, e eu estou supondo que você queira diferenciar a zona do AD em momentos diferentes)
Mas se você estiver decidido a fazer isso, a maneira de exportar seu arquivo de zona é usar Export-DnsServerZone
Export-DnsServerZone -Name ad.example.com -FileName ad.example.com.zone
Agora, a documentação diz que você pode especificar um caminho de arquivo para -FileName
, mas no meu teste eu realmente não consegui fazer isso. Isso significa que esse arquivo vai acabar em %WinDir%\System32\dns
. Você vai querer pegá-lo de lá e movê-lo para o seu repositório git e cometer isso.
Recuperar o arquivo de zona quando quiser restaurá-lo, no entanto, não é exatamente o mesmo. Não parece haver um bom wrapper PowerShell para isso (provavelmente porque não é algo que a Microsoft quer que você faça com uma zona integrada do AD):
dnscmd /ZoneAdd ad.example.com /Primary /File ad.example.com.zone /load
Note que ao fazer essa restauração, você perderá todas as permissões na zona - mas você terá seus dados brutos e poderá diferenciá-los no git.