O ELM (e os scripts do PowerShell gerados pelo ELM) omitem uma etapa importante, que é alterar o shell do Explorer.exe para o eShell.exe. Se você adicionar o seguinte ao seu script, ele funcionará corretamente:
Set-ItemProperty -Path "HKLM:\Software\Microsoft\Windows NT\CurrentVersion\Winlogon" -Name Shell -Value "eShell.exe"
eShell.exe é o que faz o trabalho de lançar o shell apropriado para um usuário em particular, incluindo o Explorer, se é isso que está configurado.