Defina uma tarefa agendada para executar um script usando suas credenciais para executar o script e a saída para xml ou clixml. Você pode distribuir as tarefas em cada servidor e salvar os dados enviados em um compartilhamento (mais fácil de dimensionar esse processo) ou executá-lo em um servidor e obter os dados remotamente. Você pode incluir o código dentro do seguinte scriptblock. Ao fazer isso, você pode dimensionar sua tarefa fazendo com que várias dezenas ou servidores retornem dados em paralelo. Acho que esse é um dos comandos mais poderosos que o PowerShell tem a oferecer para permitir que você dimensione uma operação para centenas ou milhares de servidores.
Invoke-Command -ComputerName (get-content C:\computerlistwith5000servers.txt) -ThrottleLimit 100 -ScriptBlock {1 to 500+ lines of code end code with a return statement returing your outputed values.}