У меня проблема со стартовой скоростью PowerShell, которую я проанализировал.
Когда я запускаю свой ноутбук, PowerShell запускается нормально (запуск <1 секунды, включая загрузку профиля из 1000 строк). Когда я запускаю свой корпоративный VPN (Check Point EndPoint), PowerShell запускается примерно за 6,5 секунды (ужасно).
Итак, я переместил все свои $profile
функции и т. д. в отдельный файл и поместите его в C:\0\Profile_Extras.ps1
чтобы избежать выхода в сеть каким-либо образом (кроме $Profile
, но теперь это только одна линия, которая указывает на мой C:\0\Profile_Extras.ps1
файл).
Запуск PowerShell теперь занимает 3,5 секунды. Большое улучшение, но все же очень плохо для открытия сеанса консоли (!) На очень быстром / современном ноутбуке.
cd $(Split-Path $Profile)
ведет меня к: Microsoft.PowerShell.Core\FileSystem::\\ad.ing.net\WPS\NL\P\UD\200024\YA64UG\Home\My Documents\WindowsPowerShell
Когда я выхожу из корпоративной сети VPN, эти данные все еще доступны (в нем используется какое-то программное обеспечение для кэширования, поэтому я могу ссылаться на свой сетевой профиль на H:
). В этом состоянии PowerShell снова загружается менее 1 секунды, и это хорошо.
Итак, мой вопрос: как я могу указать PowerShell перенаправить туда, где он ищет $ Profile? Это параметр реестра или что-то в этом роде?
Я также просмотрел несколько других статей, но безрезультатно. Почему PowerShell работает медленно на моем компьютере?
Это многообещающе, но, похоже, нет способа переместить профиль $ по умолчанию. Конечно, есть что-то, что позволяет мне избежать очень медленной реакции, которую я получаю при доступе к сети? https://stackoverflow.com/questions/5095509/is-it-possible-to-change-the-default-value-of-profile-to-a-new-value
Я создал profile.ps1
в C:\Windows\System32\WindowsPowerShell\v1.0
и удалил свой профиль по умолчанию. Это работает лучше, около 1,5 секунды, но все же не те 700 мс, которые я вижу при отключении от VPN, поэтому что-то все еще пытается получить доступ к сети.