В моем профиле PowerShell у меня есть Set-StrictMode -Version 2.0
. К сожалению, у меня есть несколько сценариев (и модулей), которые работают неправильно, когда включен строгий режим.Отключить строгий режим в сценарии PowerShell
Я попытался исправить это, поставив Set-StrictMode -Off
в верхней части скриптов или в верхней части скриптов, использующих модули с неправильным функционированием. К сожалению, это не имеет никакого эффекта.
Как временно отключить строгий режим в PowerShell?
Подробнее: Это особенно происходит с PsGet. См. issue 57. У меня есть Set-StrictMode -Version 2.0
в моем профиле. Если я попытаюсь использовать Psget's Install-Module
из сценария, я получаю ошибки, говорящие, что «Свойство« Верб »не может быть найдено на этом объекте».
Это происходит, даже если я положил Set-StrictMode -Off
в начало сценария. Если я запускаю Set-StrictMode -Off
в командной строке перед запуском скрипта, я не получаю ошибок и скрипт работает нормально.
PsGet импортируется в мой профиль, прежде чем включать строгий режим.
Вы уверены, что что это Set-StrictMode вызывает ошибки? Я предполагаю, что вы протестировали одни и те же скрипты после того, как удалили его из своего профиля $? Я пытался реплицировать проблему, но я всегда могу переопределить свой $ profile, явно вызвав ее в скрипте или консоли. – Matt
Я добавил более подробно в вопрос. –