Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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.

share|improve this question
add comment

3 Answers

up vote 14 down vote accepted

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$_"}
         }
      }
share|improve this answer
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
add comment

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.

share|improve this answer
    
Good thoughts! But same amount of time... –  squillman May 13 '09 at 14:24
    
We've disabled the automatic creation of an AD drive now in Pscx 1.2 (now in public beta! pscx.codeplex.com) –  x0n May 14 '09 at 17:44
add comment

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.

share|improve this answer
    
Nope. I have check for revoke lists off anyway... –  squillman May 13 '09 at 14:14
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.