Como posso chamar muitos URLs de uma lista de forma assíncrona

Eu tenho algumas centenas de milhares de URLs que preciso chamar. Essas são chamadas para um servidor de aplicativos que as processará e gravará um código de status em uma tabela. Não preciso aguardar uma resposta (êxito / falha), apenas que o servidor recebeu a solicitação. Também quero especificar quantos trabalhos simultâneos podem ser executados ao mesmo tempo, pois ainda não calculei quantas solicitações simultâneas o tomcat pode manipular.

Aqui está o que eu tenho até agora, basicamente retirado da tentativa de outra pessoa de fazer algo semelhante, mas não com chamadas de URL. O arquivo de texto contém cada URL em sua própria linha. O URL fica assim:

http://webserver:8080/app/mwo/services/create?server=ServerName&e1user=admin&newMWONum=123456&sourceMWONum=0&tagNum=33-A-1B

E o código:

$maxConcurrentJobs = 10
$content = Get-Content -Path "C:\Temp\urls.txt"

foreach ($url in $content) {
    $running = @(Get-Job | Where-Object { $_.State -eq 'Running' })
    if ($running.Count -le $maxConcurrentJobs) {
        Start-Job {
             Invoke-WebRequest -UseBasicParsing -Uri $using:url
        }
    } else {
         $running | Wait-Job -Any
    }
    Get-Job | Receive-Job
}

O problema que estou tendo é que ele está fornecendo 2 erros por "trabalho" e não sei por que. Quando eu despejo o conteúdo da matriz de URL, parece bom e quando executo o Invoke-WebRequest, um por um, eles funcionam sem erros.

126    Job126          BackgroundJob   Running       True            localhost            ...                
Invalid URI: The hostname could not be parsed.
    + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], UriFormatException
    + FullyQualifiedErrorId : System.UriFormatException,Microsoft.PowerShell.Commands.InvokeRestMethodComman 
   d
    + PSComputerName        : localhost

Invalid URI: The hostname could not be parsed.
    + CategoryInfo          : NotSpecified: (:) [Invoke-RestMethod], UriFormatException
    + FullyQualifiedErrorId : System.UriFormatException,Microsoft.PowerShell.Commands.InvokeRestMethodComman 
   d
    + PSComputerName        : localhost

Qualquer ajuda ou implementações alternativas serão apreciadas. Estou aberto a não usar o PowerShell, mas estou limitado aos servidores Windows 7 Desktops ou Windows 2008 R2 e provavelmente estaria executando o script final no próprio servidor usando localhost no URL para reduzir os atrasos na rede.

questionAnswers(2)

yourAnswerToTheQuestion