Почему Powershell занимает так много времени для инициации?

20

Когда я запускаю PowerShell, требуется ~ 10-15 секунд для инициализации и подсказки. Кто-нибудь знает, что он делает, когда вы впервые запускаете его, что может способствовать этому? Это XP Pro, 2 ГБ памяти, только Outlook и Firefox, работающие в интерактивном режиме, довольно просто.

squillman
источник

Ответы:

15

У команды Powershell есть исправление для этого в их блоге .

Содержимое скрипта с сайта упоминается 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$_"}
         }
      }
aharden
источник
1
Я запустил скрипт Update-Gac.ps1, который ничего не делал, но заметил, что они упоминают в посте, что это ошибка v1 и она исправлена ​​в v2. Я установил v2 CPT3, который запускается через 1-2 секунды. Работает на меня, спасибо!
squillman
1

У вас есть ненадежное / отсутствующее интернет-соединение?

Может зависеть от Windows Security, пытающейся связаться с центром сертификации для получения списка отзыва сертификатов. Если нет подключения к интернету, вам придется подождать тайм-аут.

Редактировать:

Вы можете попытаться отладить это, используя Process Explorer от Sysinternal (/ Microsoft). Может быть, вы можете увидеть, какие ресурсы доступны процессу.

splattne
источник
Нет. Я все равно проверяю списки отзыва ...
squillman
0

Сколько времени нужно, чтобы сразу запустить другой экземпляр?

Если намного быстрее, то вы видите время, необходимое для загрузки .NET, PSH и Snapins. Если нет, то скорее всего, это связано с профилем (профиль PSH или что-то вроде контакта с AD 1 ).

1 Я видел это с провайдером AD PSCX при удаленной работе.

Ричард
источник
Хорошие мысли! Но столько же времени ...
squillman
Мы отключили автоматическое создание диска AD в Pscx 1.2 (теперь в публичной бета-версии! Pscx.codeplex.com )
x0n