Codifiquei o script para procurar um erro e agir. Eu armazeno os resultados do comando ICACLS em $ Results. Se $ Results for um erro, ele exibirá a mensagem Write-Host "Pausando 5 segundos para replicação do AD" e tentará o comando novamente. Obrigado pela dica @ Ryan.
Eu tentei mascarar o "Nenhum Mapeamento entre nomes de contas e IDs de segurança foi feito." mensagem de erro vermelha com uma construção Try / Catch, mas sem sorte. Eu assumo que o Try / Catch não funciona porque é um comando do DOS. No entanto, o script continua assim que a replicação é concluída. Eu poderia aumentar o tempo de espera para 10 segundos e diminuir o número de mensagens de erro que o script exibe. Não quero que o administrador pense que algo está errado e, geralmente, mensagens de erro vermelhas significam exatamente isso.
Do
{
$Results = icacls "\Server1\ServerShare\Group Share" /Inheritance:r /T /Grant:R "Group Name"
If ($Results -eq 'Successfully processed 0 files; Failed processing 1 files')
{
# We just saw a RED ERROR message.
Write-Host "Pausing 5 seconds for AD replication"
Start-Sleep 5
}
} While ($Results -eq 'Successfully processed 0 files; Failed processing 1 files'}