Esta não é uma questão sobre qual é melhor; Estou totalmente interessado em casos de uso em que o PowerShell não pode executar as mesmas funções que o CMD pode.
A única coisa que me vem à mente é que os arquivos batch serão essencialmente executados em qualquer ambiente Windows; o usuário clica duas vezes em um arquivo em lotes ou o chama de outro programa e é executado.
Com os scripts do PowerShell, até onde eu sei, você não pode simplesmente clicar neles para executá-los. Para fornecer funcionalidade semelhante, você precisaria quebrar a execução do script em um arquivo em lotes ou algo assim:
powershell.exe -Command fileName.ps1
or
powershell.exe -executionpolicy remotesigned -File fileName.ps1
Este post praticamente diz que o PowerShell pode fazer tudo O CMD pode fazer e muito mais, embora o PowerShell (a partir de 3 anos atrás) não suporte links simbólicos.
Também vi uma postagem do reddit que tinha uma pergunta sobre uma tarefa de casa que envolvia escrever um script em lote. O CMD ainda está sendo ensinado ativamente nas escolas?