Я пытаюсь настроить профиль PowerShell, чтобы все мои машины имели общий профиль. Я заставляю профиль каждой машины запускать сценарий в своем дропбоксе, чтобы я мог легче обновить все из них.
Мне показалось, что проблема в том, что я плохо знаю синтаксис точечного источника, но оказывается, что PowerShell действительно не нравится, что путь к моей папке с документами имеет апостроф. Полный путь:
d:\Owen's Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1
Если я удаляю этот файл, PowerShell запускается нормально (конечно, без необходимых изменений). Если я создаю этот файл, при запуске PowerShell выдается ошибка:
The string starting:
At line:1 char:75
+ . 'D:\Owen`'s Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1 <<<< '
is missing the terminator: '.
At line:1 char:76
+ . 'D:\Owen`'s Documents\WindowsPowerShell\Microsoft.PowerShell_profile.ps1' <<<<
+ CategoryInfo : ParserError: (:String) [], ParentContainsErrorRecordException
+ FullyQualifiedErrorId : TerminatorExpectedAtEndOfString
Это не моя вина, потому что сам скрипт пуст. Удаление пустого файла приводит к его исчезновению, создание нового файла приводит к возвращению ошибки. Конечно, Microsoft ожидала пути к профилю с апострофами?
Обновление
Crud. Похоже, старая проблема. Может быть, нет обходного пути. (
Обновление 2
У меня был разговор с @ Lee_Holmes в Twitter об этом. По-видимому, это было исправлено в какой-то супер-удивительной внутренней версии Microsoft, но нет доступных исправлений и нет расписания для исправлений, поскольку PSH теперь является компонентом Windows. Это делает ответ Романа Кузьмина ниже наиболее подходящего ответа (используйте один из глобальных профилей) или, возможно, «переименуйте папку« Мои документы »», которая еще не упоминалась.