回答:
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セキュリティに依存する可能性があります。インターネットに接続されていない場合は、タイムアウトを待つ必要があります。
編集:
Sysinternal's(/ Microsoft's)Process Explorerを使用して、これをデバッグしてみてください。プロセスによってアクセスされるリソースを確認できる場合があります。
別のインスタンスをすぐに起動するのにどれくらい時間がかかりますか?
ずっと速い場合、.NET、PSH、およびSnapinsのロードにかかる時間がわかります。そうでない場合は、プロファイルに関連する可能性があります(PSHプロファイルまたはAD 1への連絡など)。
1リモートで作業しているときに、PSCXのADプロバイダーでこれを確認しました。