Все разделы about_ * отсутствуют в моей справке по PowerShell. Что дает?

822
NReilingh

Я не часто использовал PowerShell на этом компьютере - он был обновлен с Windows 7 Pro до Windows 10 несколько месяцев назад. $ PSVersionTable показывает, что я на 5 версии.

Я запустил update-help как администратор, но все разделы справки about_ отсутствуют, ЗАПРЕЩАЕТСЯ для about_CimSession по некоторым причинам. То есть, когда я запускаю Get-Help * | Where-Object { $_.Name -Like "about_*" }, я получаю about_CimSession как единственный результат. Любые попытки получить другие темы about_ приводят к списку поиска или связанной теме.

Как я могу это исправить?

3
Старые версии PowerShell, казалось, устанавливали файлы справки WITH, новые версии, похоже, НЕ содержат эти файлы. Они отключаются только после того, как вы вызвали `update-help`. Если вы находитесь за прокси-сервером, убедитесь, что он назначен, иначе `update-help` не удастся. Clayton 7 лет назад 0
@ Craig620 Я запускал `update-help -force` до тех пор, пока коровы не вернутся домой, но я не получаю новых тем` about_`. Как будто PS5 не знает, что они должны существовать. NReilingh 7 лет назад 0

2 ответа на вопрос

4
Weaver

Запустите в Update-Help -Forceкачестве локального администратора, как вы уже сделали, чтобы убедиться, что файлы справки присутствуют в C:\Windows\System32\WindowsPowerShell\v1.0\en-USвашей локали.

Затем убедитесь, что расширения файлов для about_файлов справки действительно, .help.txtа не только для.txt файлов справки PowerShell .help.txt.

Существует проблема где-то в Update-Helpпроцессе в PowerShell v5, где имена файлов .txt.

Следующий один лайнер будет Move-Item( не Rename-Item об этом ниже) все .txtв .help.txt. Этот путь будет включать файлы справки модуля также в обычном системном каталоге PowerShell - убедитесь, что ваш PowerShell установлен где-то еще.

Get-ChildItem -Path 'C:\Windows\System32\WindowsPowerShell\v1.0' -Recurse -Include '*.txt' -Exclude '*.help.txt' | Move-Item -Destination { $_.DirectoryName + '\' + $_.Name -replace '.txt$','.help.txt' } -Force 

После переименования .txtв .help.txtваш Get-Help about*будет работать снова.

Однако, если вы запустите Update-Help -Forceновый набор неверных .txt будет загружен снова. Отсюда и причина использования вышеописанного сценария Move-Item(вместо Rename-Item), поскольку вы можете запустить его снова для очистки несколько раз.

Эта проблема должна быть решена Microsoft.

Это потрясающе, и это послужило фактором для проблемы, с которой я столкнулся, так что очки! Оказалось, что было также несколько модулей с одинаковыми именами файлов. Кроме того, некоторые файлы справки просто отсутствовали, и теперь существует решение для этого: https://github.com/kilasuit/Install-AboutHelp NReilingh 7 лет назад 0
Ой ой. Предоставленная вами строка в одну строку перемещает все эти файлы в C: \ Работает над исправлением ... NReilingh 7 лет назад 0
Еще кое-что. Последний набор файлов справки, которые загружаются с неправильным расширением, по-видимому, имеет ужасное форматирование по сравнению со своими аналогами 2014-го года - ознакомьтесь с about_Execution_Policies, если можете. Какой беспорядок! NReilingh 7 лет назад 0
Странно, что для вас файлы не были перемещены правильно. Хорошие обновления к ответу / посту. Спасибо. Смешно, что Microsoft еще не исправила по состоянию на ноябрь 2016 года. Weaver 7 лет назад 0
-2
Paul M.

У меня была та же проблема с тем, что я не смог получить помощь по темам about_ на моей машине с Win10. Все файлы справки были там с расширениями .help.txt. У меня также был установлен VMware PowerCLI. Я переименовал папку Modules для PowerCLI в C: \ Program Files (x86) \ VMware \ Infrastructure \ vSphere PowerCLI \ Modules, и все работало нормально. Я закончил удаление PowerCLI.