Назад | Перейти на главную страницу

Почему Powershell так долго запускается?

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

У команды 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$_"}
         }
      }

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

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

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

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

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

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

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