Question

I need measure how time took a scriptblock (remote execution).

This is my code:

try
{

    Invoke-Command -credential $testCred -computer $ServerName -scriptblock { 
        param([String]$scriptDeploy, [String]$destino)  &"$scriptDeploy" 'parametro1' $destino
        $ScriptBlockOutput = $Error
    } -ArgumentList $RutaRemotaParaScriptDeInstalacion, "$dirRemotoDestino" 

    "`r`n`r`nOK para script de despliegue"
    exit 0;

}
catch
{
    "`r`n`r`nError en script de despliegue"
    "`r`nError in " + $_.InvocationInfo.ScriptName + " at line: " + $_.InvocationInfo.ScriptLineNumber + ", offset: " + $_.InvocationInfo.OffsetInLine + ".";

    exit -1
}

I would like something like this:
http://powershell.com/cs/blogs/tips/archive/2012/06/19/check-powershell-speed.aspx

 $timespan = Measure-Command $code
 "Your code took {0:0.000} seconds to run" -f $timespan.TotalSeconds

Any suggestions about it ?

UPDATE: my solution

    $timespan = Measure-Command -Expression {

        Invoke-Command -credential $testCred -computer $ServerName -scriptblock { 
            param([String]$scriptDeploy, [String]$destino)  &"$scriptDeploy" 'parametro1' $destino
            $ScriptBlockOutput = $Error
        } -ArgumentList $RutaRemotaParaScriptDeInstalacion, "$dirRemotoDestino" 

    }

"`r`n`r`nScript ha tardado {0:0.000} segundos en ejectuarse" -f $timespan.TotalSeconds
Was it helpful?

Solution

What is the problem? Everthing you wrote is good.

$timespan = Measure-Command -Expression { <your code here> }

Best Regards

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top