Powershell / PowerCLI - Slow on first run

Welcome Forums General PowerShell Q&A Powershell / PowerCLI - Slow on first run

This topic contains 4 replies, has 3 voices, and was last updated by

4 years, 10 months ago.

  • Author
  • #15701

    Points: 0
    Rank: Member

    Hello! This is my first post. 🙂
    I have a script, which only consists in connecting the server vcenter and run a simple command and then disconnect.
    The script takes about 25~35 seconds to load the powershell variables, connect to vCenter, run the command Get-VMHost and finally disconnect.
    When you run the script again the process goes much faster. About 5 seconds.
    If I leave the PowerShell and enter again, the script remains slow on the first run.
    What to see this slow on first run? Is there any way to overcome this problem so that whenever the get-VMHost command runs the process will be fast?

    The script:

    Add-PSSnapin VMware*
    Set-PowerCLIConfiguration -DefaultVIServerMode multiple -InvalidCertificateAction Ignore -Scope Session -ProxyPolicy NoProxy -Confirm:$false | Out-Null

    Measure-Command {
    Connect-VIServer -Protocol https -Port 443 -User root -Password 123456
    Write-Host "Time do connection with vCenter"
    } | fl TotalSeconds

    Measure-Command {
    get-VMHost -Location $Clusters -State Connected| Format-Table -HideTableHeaders Name | Out-String
    Write-Host "Time to run get-VMHOST "
    } | fl TotalSeconds

    Firts Result:
    TotalSeconds : 11,1788088
    TotalSeconds : 14,0271155

    Second Result (without exit powershell):
    TotalSeconds : 2,59300022
    TotalSeconds : 0,05405447

    Third Result (after exit Powershell and enter again)
    TotalSeconds : 12,1127486
    TotalSeconds : 13,6543578

  • #15702

    Points: 1,811
    Helping HandTeam Member
    Rank: Community Hero

    You don't mention the version of PowerShell you're using?

  • #15710

    Points: 0
    Rank: Member

    PS C:\scripts> get-host

    Name : ConsoleHost
    Version : 4.0
    InstanceId : 5d6b7e3c-03a8-4846-b456-455009e7184a
    UI : System.Management.Automation.Internal.Host.InternalHostU
    CurrentCulture : pt-BR
    CurrentUICulture : en-US
    PrivateData : Microsoft.PowerShell.ConsoleHost+ConsoleColorProxy
    IsRunspacePushed : False
    Runspace : System.Management.Automation.Runspaces.LocalRunspace

    PS C:\scripts> get-powercliversion

    PowerCLI Version
    VMware vSphere PowerCLI 5.1 Release 2 build 1012425
    Snapin Versions
    VMWare AutoDeploy PowerCLI Component 5.1 build 768137
    VMWare ImageBuilder PowerCLI Component 5.1 build 768137
    VMware vCloud Director PowerCLI Component 5.1 build 1012427
    VMware License PowerCLI Component 5.1 build 669840
    VMware VDS PowerCLI Component 5.1 build 1012428
    VMware vSphere PowerCLI Component 5.1 build 1012428

  • #15711

    Points: 1,811
    Helping HandTeam Member
    Rank: Community Hero

    Well, PowerCLI I can't tell you anything about (VMware maintains a forum for those – there's a sticky post in this forum with the link), but PowerShell itself does some compiling kinda stuff with scripts, which on first execution could induce a brief hit. It's hard for me to know if it's that (it usually isn't noticeable) or something in the PowerCLI stuff.

  • #15759

    Points: 0
    Rank: Member

    There is a global variable that is used when you connect to a vCenter server (I think it is DefaultVIServersor something like that) and it stores the connection information for the server. The first time takes a while because it has to initiate the new connection while the second time goes quicker because the connection is already saved to the global variable. Ditto when you close PowerShell out and restart the console; it has to re-create the connection to the vCenter server.

    If you were to use Disconnect-VIServer and then attempt to reconnect, I imagine the time would go back up to its 1st run time.

The topic ‘Powershell / PowerCLI - Slow on first run’ is closed to new replies.

denizli escort samsun escort muğla escort ataşehir escort kuşadası escort