Em vez de executar a tarefa em apenas um controlador de domínio, talvez você possa executar a tarefa em todos os controladores de domínio, mas altere seu script Powershell para que o próprio script segmente somente o um controlador de domínio talvez faça com que o script do PowerShell sempre segmente o controlador de domínio com a função PDCe FSMO.
Não sei quais cmdlets (se houver) estão sendo usados no seu script, mas se você usar Set-ADUser no módulo ActiveDirectory, poderá segmentar facilmente o cmdlet com o parâmetro "-Server".
I would prefer not having to write some locking mechanism, though.
O AD é multi-mestre, tem um processo de resolução de conflitos e pode resolver conflitos automaticamente quando as gravações acontecem no mesmo objeto. Tenho certeza de que você não precisa se preocupar em quebrar o Active Directory com algumas atualizações de atributos duplicadas.
Também me parece que o meio mais lógico de realizar o que você está tentando fazer é apenas automatizar (script) o processo de criação do usuário de forma que o UID / GID seja atribuído no momento da criação do usuário e não acionado. por um evento em um log de segurança.