20

When I fire up powershell it takes ~10-15 seconds to init and give me a prompt. Anyone know what it's doing when you first fire it up that might contribute to that? This is XP Pro, 2 GB of memory, only Outlook and Firefox running interactively, fairly straight-up.

squillman
  • 37,883
  • 12
  • 92
  • 146

4 Answers4

15

The Powershell team has a fix for this on their blog.

Content of the script from the site mentioned Update-gac.ps1

Set-Alias ngen (Join-Path ([System.Runtime.InteropServices.RuntimeEnvironment]::GetRuntimeDirectory()) ngen.exe)
[AppDomain]::CurrentDomain.GetAssemblies() |
    sort {Split-path $_.location -leaf} |
    %{
        $Name = (Split-Path $_.location -leaf)
        if ([System.Runtime.InteropServices.RuntimeEnvironment]::FromGlobalAccessCache($_))
        {
            Write-Host "Already GACed: $Name"
        }else
        {
            Write-Host -ForegroundColor Yellow "NGENing      : $Name"
            ngen $_.location | %{"`t$_"}
         }
      }
Shekhar
  • 103
  • 4
aharden
  • 1,460
  • 10
  • 11
  • 1
    I ran the Update-Gac.ps1 script which didn't do anything, but noticed they mention on the post that it's a v1 bug and is fixed in v2. I installed v2 CPT3 which fires up in 1-2 seconds. Works for me, thanks! – squillman May 13 '09 at 14:50
1

Do you have a flaky/missing internet connection?

Could depend on Windows Security trying to contact certificate authority to the get the certificate revoke list. If there is no internet connection, you'll have to wait for the timeout.

Edit:

You could try to debug this using Sysinternal's(/Microsoft's) Process Explorer. Maybe you can see which resources are accessed by the process.

splattne
  • 28,508
  • 20
  • 98
  • 148
0

Your $profile can be extremely long, so check it.

Wasif
  • 321
  • 2
  • 8
  • 1
    dude, this question was originally asked over *eleven* years ago :-) – LeeM Sep 25 '20 at 06:37
  • Heh, yeah. Good thought, but didn't even have a profile set up at the time. Maybe someone else will run into this though! – squillman Sep 25 '20 at 12:25
0

How long does it take to immediately start up another instance?

If much quicker, then you are seeing the time it takes to load .NET, PSH and Snapins. If not, then likely to be profile related (either PSH profile or something like contacting AD1).

1 I've see this with PSCX's AD provider when working remotely.

Richard
  • 5,324
  • 1
  • 23
  • 20