2

I am a new PowerShell user. I'm using PS verison 5.1.14393.3471 on a fully updated Windows Server 2016 installation.

I used Get-Help for the first time today and followed the instructions to run Update-Help. The majority of the about_ help articles were not installed and I have been unable to install them.

I found this question and this bug report. Both seem to describe the issue I am having and both say it was solved.

I have tried Update-Help, Update-Help -Force, Update-Help -UICulture en-US and Update-Help -UICulture en-US -Force. My locality is en-AU. I am running powershell as administrator.

I am still missing the majority of the about_ help articles.

PS C:\Windows\System32\WindowsPowerShell\v1.0> Get-Help about_*

Name Category Module Synopsis


about_BeforeEach_AfterEach HelpFile performed at the beginning and end of every It block. This can eliminate duplication of code about_Mocking HelpFile Pester provides a set of Mocking functions making it easy to fake dependencies about_Pester HelpFile Pester is a BDD based test runner for PowerShell. about_should HelpFile Provides assertion convenience methods for comparing objects and throwing about_TestDrive HelpFile A PSDrive for file activity limited to the scope of a singe Describe or

I've been messing with this for a while and can't find a solution. Any advice would be appreciated.

Some additional information following comments:

PS C:\Windows\System32\WindowsPowerShell\v1.0> (Get-Help -Name 'about_*').count
5
PS C:\> $Host.CurrentCulture.Name
en-AU
PS C:\> $Host.CurrentUICulture.Name
en-US
PS C:\> Get-ChildItem -Directory $pshome
Directory: C:\Windows\System32\WindowsPowerShell\v1.0

Mode LastWriteTime Length Name


d----- 12/09/2016 04:22 en d----- 17/06/2020 20:30 en-US d----- 16/07/2016 06:23 Examples d----- 10/08/2019 10:24 Modules d----- 16/07/2016 06:23 Schemas d----- 16/07/2016 06:23 SessionConfig

PS C:> Get-ChildItem $pshome\en-US

Directory: C:\Windows\System32\WindowsPowerShell\v1.0\en-US

Mode LastWriteTime Length Name


-a---- 12/09/2016 04:21 3568 default.help.txt -a---- 6/05/2014 15:27 143981 Microsoft.PowerShell.Commands.Diagnostics.dll-help.xml -a---- 5/06/2020 01:49 2549460 Microsoft.PowerShell.Commands.Management.dll-Help.xml -a---- 5/06/2020 01:50 2195100 Microsoft.PowerShell.Commands.Utility.dll-help.xml -a---- 5/06/2020 01:48 27900 Microsoft.PowerShell.ConsoleHost.dll-help.xml -a---- 5/06/2020 01:49 291850 Microsoft.PowerShell.Security.dll-help.xml -a---- 5/06/2020 01:50 63171 Microsoft.PowerShell.Utility-help.xml -a---- 12/09/2016 04:21 11776 powershell.exe.mui -a---- 12/09/2016 04:21 54784 PSEvents.dll.mui -a---- 12/09/2016 04:21 5632 pspluginwkr.dll.mui -a---- 12/09/2016 04:21 5120 pwrshmsg.dll.mui -a---- 5/06/2020 01:48 2987565 System.Management.Automation.dll-help.xml

I am getting a couple of non-terminating errors when I run Update-Help but they seem unrelated.

PS C:\Windows\System32\WindowsPowerShell\v1.0> Update-Help -UICulture "en-US" -Force
Update-Help : Failed to update Help for the module(s) 'Microsoft.WSMan.Management, PSReadline' with UI culture(s) {en-US} : Unable to retrieve the HelpInfo XML file for UI culture en-US. Make sure the HelpInfoUri property in the module manifest is valid or check your
network connection and then try the command again.
At line:1 char:1
+ Update-Help -UICulture "en-US" -Force
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : ResourceUnavailable: (:) [Update-Help], Exception
    + FullyQualifiedErrorId : UnableToRetrieveHelpInfoXml,Microsoft.PowerShell.Commands.UpdateHelpCommand

Update-Help : Failed to update Help for the module(s) 'PlatformIdentifier, UEV' with UI culture(s) {en-US} : Unable to connect to Help content. The server on which Help content is stored might not be available. Verify that the server is available, or wait until the server is back online, and then try the command again. At line:1 char:1

  • Update-Help -UICulture "en-US" -Force
  •   + CategoryInfo          : InvalidOperation: (:) [Update-Help], Exception
      + FullyQualifiedErrorId : UnableToConnect,Microsoft.PowerShell.Commands.UpdateHelpCommand
    

Nic C.
  • 21

2 Answers2

1

A follow-up to my comment:

Update-Help https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/update-help?view=powershell-7 Downloads and installs the newest help files on your computer.

Update-Help
      [[-Module] <String[]>]

Local default modules locations

explorer "$pshome\Modules"

So, in normal cases...

Get-CimInstance -ClassName Win32_OperatingSystem | 
Select-Object -Property Caption, Version | 
Format-Table -AutoSize

Caption Version


Microsoft Windows 10 Pro 10.0.18363

$PSVersionTable.PSVersion

Major Minor Build Revision


5 1 18362 752

You should be getting this number of topics.

(Get-Help -Name 'about_*').Count
181

If you are saying when you run Update-Help and are not seeing any error message, you can do something like this to catch errors for review.

Update-Help -Force -ErrorAction SilentlyContinue -ErrorVariable ErrMsgDetail
$ErrorMsgDetail.Exception

You can look at the help file store location to make sure they are all there.

# Review PowerShell help files location
explorer "$pshome\$($Host.CurrentCulture.Name)"

You can also try this...

• PowerTip: Save Offline Version of PowerShell Help Use the Save-Help Windows PowerShell cmdlet, and specify a shared location for the downloaded files on a computer that does have access to the Internet. https://devblogs.microsoft.com/scripting/powertip-save-offline-version-of-powershell-help

Save-Help -Module * -DestinationPath 'D:\Scripts\PSHelpOffline' -Force

Then you can update modules from that location

If push comes to shove, as long as you have an internet connection, you can just use the -Online switch to see the help.

Get-Help -Name Get-Process -Online

Update

As per this...

Do you have .help.txt files in PSHome\en-US

# All 'About' Help topics
Get-Help about_*

Get-ChildItem -Path 'C:\Windows\System32\WindowsPowerShell\v1.0\en-US' -Filter '*.txt'

Results

<# Directory: C:\Windows\System32\WindowsPowerShell\v1.0\en-US

Mode LastWriteTime Length Name


-a---- 09-Aug-15 09:46 29397 about_ActivityCommonParameters.help.txt
-a---- 09-Aug-15 09:46 7306 about_Aliases.help.txt
-a---- 09-Aug-15 09:46 16442 about_Arithmetic_Operators.help.txt
-a---- 09-Aug-15 09:46 9216 about_Arrays.help.txt
...
#>

(Get-ChildItem -Path 'C:\Windows\System32\WindowsPowerShell\v1.0\en-US' -Filter '*.txt').Count

Resutls

<# 129 #>

Get a specific 'About' topic

Get-Help about_Functions

Get just the Synopsis of all 'About' topics and display to the screen

Get-Help about* | Select Name, Synopsis

Get just the Synopsis of all 'About' topics and display to a selectable

Get-Help about* | Select-Object -Property Name, Synopsis | Out-GridView -Title 'Select Topic' -OutputMode Multiple | ForEach-Object { Get-Help -Name $PSItem.Name -ShowWindow }

Review PowerShell help files location

explorer "$pshome$($Host.CurrentCulture.Name)"

postanote
  • 5,136
0

Answering my own question here.

I've spent some time looking at this and have come to the conclusion that Powershell updatable help is pretty much broken because the help file repositories are a mess.

Here's an article describing the problem and a workaround.

The Microsoft.Powershell.Core help content cabinet file that I built following these instructions contained all of the 'about_' conceptual article help files. The equivalent file in Microsoft's online repository does not contain the conceptual articles and was modified about two weeks ago.

I would not recommend relying on Powershell's built in updatable help. Either use the online documentation or follow the procedure described in the article linked above to build the help files from source.

Nic C.
  • 21