use as Preferências de Diretiva de Grupo para mapas de unidade (como comentou Bryan). Muito mais limpo. Eu usei com o XP, funcionou bem, agora com o Win 7 mesmo. Scripts de logon são tão 2004.
De acordo com este artigo, a política de grupo é processada em ordem decrescente através da organização (ou seja, iniciar na floresta, em seguida, domínio, ou, etc). Eu tenho um GPO vinculado ao domínio que executa um script de inicialização para excluir todas as unidades de rede mapeadas; então tenho vários GPOs vinculados a unidades organizacionais que mapeiam determinadas unidades para determinados grupos. O problema é que os scripts que mapeiam as unidades terminam antes do script que os desmata! Posso consertar isso?
A política de grupo é processada na ordem do escopo do link, sim. No entanto, o "processamento" significa determinar quais políticas se aplicam a partir de qual GPO e quais são substituídas por uma prioridade mais alta, um link mais específico ou um GPO de modo de imposição.
Os scripts de inicialização não são executados de forma síncrona na ordem do processamento do GPO - eles não são executados durante a etapa de processamento. Se você precisar impor uma ordem de dependência em seus scripts de inicialização, precisará fazer isso de alguma outra forma.
Como mencionado, limpar os mapeamentos de unidade antes de aplicá-los no mesmo script é uma boa opção.
Se você estivesse realmente sofrendo, e se odiasse, poderia usar "tasklist" no XP ou 7 para descobrir se há outras sessões CMD.EXE em execução e "dormir" até que elas terminem. Eu acho que você poderia definir o WINDOWTITLE no script de domínio e procurá-lo com algo como:
tasklist /FI "IMAGENAME eq cmd.exe" /FI "WINDOWTITLE eq TESTING" /FO CSV
Você teria que passar por cima dele com alguns segundos de sono cada vez até que ele desaparecesse. Ou você poderia apenas dormir por um minuto e esperar que o outro não demore tanto.
Me deixa meio mal de sugerir isso, no entanto. ; -)