As respostas de John Rennie e Sam Cogan (como John tão apropriadamente afirma) são "hacks" na medida em que tentam desabilitar a interface do usuário para alterar as senhas, mas não tiram a habilidade do usuário de alterar sua senha.
Acho que você está procurando uma alteração nos conjuntos de permissões do Active Directory por padrão na unidade organizacional em que as contas de usuário estão localizadas. Eu vou alertar você contra isso. Como a Microsoft já fornece essa funcionalidade por meio de um atributo nos objetos da conta do usuário, é realmente melhor usar esse atributo já fornecido do que alterar as permissões do AD. É provável que você encontre uma permissão que funcione e também é provável que o sistema operacional não exiba mensagens úteis.
Você realmente deve apenas todos os usuários afetados usando Usuários e Computadores do Active Directory e modificando as propriedades das contas de usuário em massa. A resposta de Dart é funcionalmente a mesma que selecionar todas as contas de usuário e configurar seu "Usuário não pode alterar a senha" graficamente. Se você gosta da linha de comando melhor, faça isso.
Há uma funcionalidade para fazer isso com um "direito estendido" usando as permissões do Active Directory no Windows 2003. Não estou encontrando boa documentação sobre o recurso. Veja alguns detalhes sobre os "direitos estendidos" associados à alteração de senhas, a primeira relacionada ao "Modo Aplicativo" do Active Directory (ou qualquer que seja o nome da Microsoft nesta semana):
Eu tentei verificar a resposta de Massimo colocando uma permissão "SELF - Negar - Objetos do Usuário - Direito Estendido: Alterar Senha" em uma UO em meu teste W2K3 Active Directory (Nível Funcional do Domínio Windows 2003) e descobri que os objetos do usuário ou abaixo dessa UO ainda podiam alterar suas senhas usando a funcionalidade de alteração de senha da GUI. Olhando para cada objeto de usuário, pude ver a permissão "Negar" herdada, mas o Active Directory pareceu ignorá-la.
A simples remoção da permissão "SELF - Permitir - Alterar Senha" em um objeto de usuário deu a mesma funcionalidade que o teste acima. O usuário ainda tinha permissão para alterar sua senha.
Eu diria, com base nisso, que a resposta de Massimo também não faz o que você quer.
Encontrei este artigo da Microsoft e testei-o. Quando eu segmentar o script em um objeto de usuário individual, ele se comporta conforme desejado e o usuário não pode alterar sua senha . No entanto, isso não é muito útil para você, já que deseja definir isso de acordo com a OU.
Quando eu visar esse script da Microsoft em uma unidade organizacional, no entanto, o comportamento por mais tempo é o esperado. (Além disso, se eu modificar as ACEs adicionadas à UO para aplicar a "Objetos objeto e filho" em vez de "Somente este objeto", conforme concedido pelo script, o comportamento ainda não será o esperado. )
Eu estou realmente batendo minha cabeça em uma parede neste. Isso parece um capricho do comportamento do Active Directory que não está bem documentado. Já passei pelos "Serviços de Domínio do Active Directory" e Documentação do esquema do Active Directory e não estou encontrando documentação para descrever esse comportamento.