Cuando ejecuta una instrucción sencilla localmente¿Por qué los trabajos de Powershell son tan lentos?
$path = 'C:\Windows\System32\WindowsPowerShell\v1.0'
gci $path
veo la respuesta de inmediato. Pero cuando lo ejecuto como trabajo en mi máquina local
$start = get-date
$path = 'C:\Windows\System32\WindowsPowerShell\v1.0'
$cmd = [scriptblock]::Create("gci $path")
$jnr1 = Invoke-Command -computer localhost -ScriptBlock $cmd -asJob
Wait-Job $jnr1
Receive-job $jnr1
$end = Get-date
($end - $start).totalseconds
Tengo que esperar 55 segundos. De mi experiencia en Unix hace una década. Esperaría que los trabajos en segundo plano se ejecuten casi tan rápido como los trabajos en primer plano.
¿Hay formas de acelerar la ejecución de trabajos en segundo plano de PowerShell?
El inicio de una ventana de powershell lleva mucho tiempo en mi máquina. Pero después de su carga, ejecuta el comando bastante rápido. Puede ser que el cron esté cargando powershell primero, de ahí la demora. –
PowerShell_ISE comienza en aproximadamente 10 segundos y Powershell en menos de 3 segundos en mi caso. Debe haber algo más. –
He probado su script en XP sp3 y Windows 7 pro y Windows Server 2008 R2 siempre con powershell 2.0 y el tiempo transcurrido es (en orden): ~ 6 seg, ~ 5 seg, ~ 4 seg. –