Help Missing?

Topics: Developer Forum, Project Management Forum, User Forum
May 12, 2010 at 4:19 PM

Get-Help is returning only cmdlet syntax (even when using -full) on all cmdlets. I've imported PCSX 2.0 to Win2003 R2, Win7 and Win2008 R2 machines and same result on all three.

Coordinator
May 12, 2010 at 4:48 PM
Edited May 12, 2010 at 9:40 PM
Are you using any other functions that proxy Get-Help? Execute:

Get-Command Get-Help | fl *
and post the output here.

As a work-around for now, you can turn off the PSCX Get-Help proxy command by editing your Pscx.UserPreferences.ps1 file. If you're not using this file, copy it from the ~\Documents\WindowsPowerShell\Modules\Pscx folder into your home folder. Edit it and change the following line (change $true to $false):

GetHelp           = $true # change to $false
Save the file and now when you import PSCX, specify the command like so:

Import-Module Pscx -arg ~\Pscx.UserPreferences.ps1
Now give Get-Help a go and see if it is back to normal.
May 12, 2010 at 5:22 PM

Here is the command output.

get-command get-help | FL *


HelpUri             : http://go.microsoft.com/fwlink/?LinkID=113316
ScriptBlock         :
                          # our proxy command generated from [proxycommand]::create((gcm get-help))
                          [CmdletBinding(DefaultParameterSetName='AllUsersView')]
                          param(
                              [Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
                              [System.String]
                              ${Name},
                     
                              [System.String]
                              ${Path},
                     
                              [System.String[]]
                              ${Category},
                     
                              [System.String[]]
                              ${Component},
                     
                              [System.String[]]
                              ${Functionality},
                     
                              [System.String[]]
                              ${Role},
                     
                              [Parameter(ParameterSetName='DetailedView')]
                              [Switch]
                              ${Detailed},
                     
                              [Parameter(ParameterSetName='AllUsersView')]
                              [Switch]
                              ${Full},
                     
                              [Parameter(ParameterSetName='Examples')]
                              [Switch]
                              ${Examples},
                     
                              [Parameter(ParameterSetName='Parameters')]
                              [System.String]
                              ${Parameter},
                             
                              [Parameter(ParameterSetName='ObjectHelp', ValueFromPipeline = $true, Mandatory = $true)]
                              [ValidateNotNullOrEmpty()]
                              ${Object},
                     
                              [Parameter(ParameterSetName='ObjectHelp')]
                              [Switch]
                              ${Member},
                             
                              [Parameter(ParameterSetName='ObjectHelp')]
                              [Switch]
                              ${Static},       
                     
                              [Switch]
                              ${Online})
                      begin {
                     
                              try {
                                  if ($PSCmdlet.ParameterSetName -eq "ObjectHelp") {                               
                                     
                                      Preload-Documentation
                                     
                                      $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-ObjectHelp', [Syste
                      m.Management.Automation.CommandTypes]::Function)
                                      $scriptCmd = { & $wrappedCmd @PSBoundParameters }
                                      $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
                                     
                                 
                                  } else {
                                 
                                      $outBuffer = $null
                                      if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer) -and $outBuffer
                      -gt 1024)
                                      {
                                          $PSBoundParameters['OutBuffer'] = 1024
                                      }
                                      $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-Help', [System.Mana
                      gement.Automation.CommandTypes]::Cmdlet)
                                      $scriptCmd = { & $wrappedCmd @PSBoundParameters }
                                      $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
                                     
                                  }
                                  $steppablePipeline.Begin($PSCmdlet)
                              } catch {
                                  throw
                              }
                         
                      }
                      process {
                     
                              try {       
                                  $steppablePipeline.Process($_)
                              } catch {
                                  throw
                              }
                         
                      }
                      end {
                     
                              try {
                                  $steppablePipeline.End()
                              } catch {
                                  throw
                              }
                         
                      }
                     
CmdletBinding       : True
DefaultParameterSet : AllUsersView
Definition          :
                          # our proxy command generated from [proxycommand]::create((gcm get-help))
                          [CmdletBinding(DefaultParameterSetName='AllUsersView')]
                          param(
                              [Parameter(Position=0, ValueFromPipelineByPropertyName=$true)]
                              [System.String]
                              ${Name},
                     
                              [System.String]
                              ${Path},
                     
                              [System.String[]]
                              ${Category},
                     
                              [System.String[]]
                              ${Component},
                     
                              [System.String[]]
                              ${Functionality},
                     
                              [System.String[]]
                              ${Role},
                     
                              [Parameter(ParameterSetName='DetailedView')]
                              [Switch]
                              ${Detailed},
                     
                              [Parameter(ParameterSetName='AllUsersView')]
                              [Switch]
                              ${Full},
                     
                              [Parameter(ParameterSetName='Examples')]
                              [Switch]
                              ${Examples},
                     
                              [Parameter(ParameterSetName='Parameters')]
                              [System.String]
                              ${Parameter},
                             
                              [Parameter(ParameterSetName='ObjectHelp', ValueFromPipeline = $true, Mandatory = $true)]
                              [ValidateNotNullOrEmpty()]
                              ${Object},
                     
                              [Parameter(ParameterSetName='ObjectHelp')]
                              [Switch]
                              ${Member},
                             
                              [Parameter(ParameterSetName='ObjectHelp')]
                              [Switch]
                              ${Static},       
                     
                              [Switch]
                              ${Online})
                      begin {
                     
                              try {
                                  if ($PSCmdlet.ParameterSetName -eq "ObjectHelp") {                               
                                     
                                      Preload-Documentation
                                     
                                      $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-ObjectHelp', [Syste
                      m.Management.Automation.CommandTypes]::Function)
                                      $scriptCmd = { & $wrappedCmd @PSBoundParameters }
                                      $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
                                     
                                 
                                  } else {
                                 
                                      $outBuffer = $null
                                      if ($PSBoundParameters.TryGetValue('OutBuffer', [ref]$outBuffer) -and $outBuffer
                      -gt 1024)
                                      {
                                          $PSBoundParameters['OutBuffer'] = 1024
                                      }
                                      $wrappedCmd = $ExecutionContext.InvokeCommand.GetCommand('Get-Help', [System.Mana
                      gement.Automation.CommandTypes]::Cmdlet)
                                      $scriptCmd = { & $wrappedCmd @PSBoundParameters }
                                      $steppablePipeline = $scriptCmd.GetSteppablePipeline($myInvocation.CommandOrigin)
                                     
                                  }
                                  $steppablePipeline.Begin($PSCmdlet)
                              } catch {
                                  throw
                              }
                         
                      }
                      process {
                     
                              try {       
                                  $steppablePipeline.Process($_)
                              } catch {
                                  throw
                              }
                         
                      }
                      end {
                     
                              try {
                                  $steppablePipeline.End()
                              } catch {
                                  throw
                              }
                         
                      }
                     
Options             : None
Description         :
OutputType          : {}
Name                : Get-Help
CommandType         : Function
Visibility          : Public
ModuleName          : Pscx
Module              : Pscx
Parameters          : {[Name, System.Management.Automation.ParameterMetadata], [Path, System.Management.Automation.Para
                      meterMetadata], [Category, System.Management.Automation.ParameterMetadata], [Component, System.Ma
                      nagement.Automation.ParameterMetadata]...}
ParameterSets       : {[[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Functionali
                      ty <String[]>] [-Role <String[]>] [-Full] [-Online] [-Verbose] [-Debug] [-ErrorAction <ActionPref
                      erence>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>
                      ] [-OutVariable <String>] [-OutBuffer <Int32>], [[-Name] <String>] [-Path <String>] [-Category <S
                      tring[]>] [-Component <String[]>] [-Functionality <String[]>] [-Role <String[]>] [-Detailed] [-On
                      line] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <ActionPreference>] [
                      -ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                      , [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Functional
                      ity <String[]>] [-Role <String[]>] [-Examples] [-Online] [-Verbose] [-Debug] [-ErrorAction <Actio
                      nPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <St
                      ring>] [-OutVariable <String>] [-OutBuffer <Int32>], [[-Name] <String>] [-Path <String>] [-Catego
                      ry <String[]>] [-Component <String[]>] [-Functionality <String[]>] [-Role <String[]>] [-Parameter
                       <String>] [-Online] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <Actio
                      nPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-Out
                      Buffer <Int32>]...}

HelpUri             : http://go.microsoft.com/fwlink/?LinkID=113316
DLL                 : C:\WINDOWS\assembly\GAC_MSIL\System.Management.Automation\1.0.0.0__31bf3856ad364e35\System.Manage
                      ment.Automation.dll
Verb                : Get
Noun                : Help
HelpFile            : System.Management.Automation.dll-Help.xml
PSSnapIn            : Microsoft.PowerShell.Core
ImplementingType    : Microsoft.PowerShell.Commands.GetHelpCommand
Definition          : Get-Help [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Fun
                      ctionality <String[]>] [-Role <String[]>] [-Full] [-Online] [-Verbose] [-Debug] [-ErrorAction <Ac
                      tionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable
                      <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                      Get-Help [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Fun
                      ctionality <String[]>] [-Role <String[]>] [-Detailed] [-Online] [-Verbose] [-Debug] [-ErrorAction
                       <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVaria
                      ble <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                      Get-Help [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Fun
                      ctionality <String[]>] [-Role <String[]>] [-Examples] [-Online] [-Verbose] [-Debug] [-ErrorAction
                       <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVaria
                      ble <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                      Get-Help [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Fun
                      ctionality <String[]>] [-Role <String[]>] [-Parameter <String>] [-Online] [-Verbose] [-Debug] [-E
                      rrorAction <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-Wa
                      rningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                     
DefaultParameterSet : AllUsersView
OutputType          : {}
Name                : Get-Help
CommandType         : Cmdlet
Visibility          : Public
ModuleName          : Microsoft.PowerShell.Core
Module              :
Parameters          : {[Name, System.Management.Automation.ParameterMetadata], [Path, System.Management.Automation.Para
                      meterMetadata], [Category, System.Management.Automation.ParameterMetadata], [Component, System.Ma
                      nagement.Automation.ParameterMetadata]...}
ParameterSets       : {[[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Functionali
                      ty <String[]>] [-Role <String[]>] [-Full] [-Online] [-Verbose] [-Debug] [-ErrorAction <ActionPref
                      erence>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>
                      ] [-OutVariable <String>] [-OutBuffer <Int32>], [[-Name] <String>] [-Path <String>] [-Category <S
                      tring[]>] [-Component <String[]>] [-Functionality <String[]>] [-Role <String[]>] [-Detailed] [-On
                      line] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <ActionPreference>] [
                      -ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <Int32>]
                      , [[-Name] <String>] [-Path <String>] [-Category <String[]>] [-Component <String[]>] [-Functional
                      ity <String[]>] [-Role <String[]>] [-Examples] [-Online] [-Verbose] [-Debug] [-ErrorAction <Actio
                      nPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <St
                      ring>] [-OutVariable <String>] [-OutBuffer <Int32>], [[-Name] <String>] [-Path <String>] [-Catego
                      ry <String[]>] [-Component <String[]>] [-Functionality <String[]>] [-Role <String[]>] [-Parameter
                       <String>] [-Online] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningAction <Actio
                      nPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-Out
                      Buffer <Int32>]}

This is what I'm seeing on any of the PSCX cmdlets:

get-help write-zip

NAME
    Write-Zip
   
SYNTAX
    Write-Zip [-Path] <PscxPathInfo[]> [[-OutputPath] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDirectories]
    [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningActi
    on <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <I
    nt32>] [-WhatIf] [-Confirm]
    Write-Zip [-LiteralPath] <PscxPathInfo[]> [[-OutputPath] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDirect
    ories] [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-Warn
    ingAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBu
    ffer <Int32>] [-WhatIf] [-Confirm]
    Write-Zip [[-OutputPath] <PscxPathInfo>] [[-EntryPathRoot] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDire
    ctories] [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] -InputObject <PSObject> [-Verbose] [-Debug] [-ErrorAction
    <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-Out
    Variable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]
   

Builtin cmdlets are OK:

get-help write-output

NAME
    Write-Output
   
SYNOPSIS
    Sends the specified objects to the next command in the pipeline. If the command is the last command in the pipeline
    , the objects are displayed in the console.
   
   
SYNTAX
    Write-Output [-InputObject] <PSObject[]> [<CommonParameters>]
   
   
DESCRIPTION
    The Write-Output cmdlet sends the specified object down the pipeline to the next command. If the command is the las
    t command in the pipeline, the object is displayed in the console.
   
    Write-Output sends objects down the primary pipeline, also known as the "output stream" or the "success pipeline."
    To send error objects down the error pipeline, use Write-Error.
   
    This cmdlet is typically used in scripts to display strings and other objects on the console. However, because the
    default behavior is to display the objects at the end of a pipeline, it is generally not necessary to use the cmdle
    t. For example, "get-process | write-output" is equivalent to "get-process".
   

RELATED LINKS
    Online version: http://go.microsoft.com/fwlink/?LinkID=113427
    Write-Debug
    Write-Verbose
    Write-Error
    Write-Progress
    Write-Host
    Write-Warning
    Tee-Object

REMARKS
    To see the examples, type: "get-help Write-Output -examples".
    For more information, type: "get-help Write-Output -detailed".
    For technical information, type: "get-help Write-Output -full".

I'll try the workaround as well.

Thanks!

Mike 

May 12, 2010 at 5:38 PM

GetHelp is now set $false but the workaround did not work for me:

PS C:\> Import-Module Pscx -arg ~\Pscx.UserPreferences.ps1
PS C:\> get-help write-zip

NAME
    Write-Zip

SYNTAX
    Write-Zip [-Path] <PscxPathInfo[]> [[-OutputPath] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDirectories]
    [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-WarningActi
    on <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBuffer <I
    nt32>] [-WhatIf] [-Confirm]
    Write-Zip [-LiteralPath] <PscxPathInfo[]> [[-OutputPath] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDirect
    ories] [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] [-Verbose] [-Debug] [-ErrorAction <ActionPreference>] [-Warn
    ingAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-OutVariable <String>] [-OutBu
    ffer <Int32>] [-WhatIf] [-Confirm]
    Write-Zip [[-OutputPath] <PscxPathInfo>] [[-EntryPathRoot] <PscxPathInfo>] [-Level <Nullable`1>] [-IncludeEmptyDire
    ctories] [-FlattenPaths] [-Append] [-NoClobber] [-Quiet] -InputObject <PSObject> [-Verbose] [-Debug] [-ErrorAction
    <ActionPreference>] [-WarningAction <ActionPreference>] [-ErrorVariable <String>] [-WarningVariable <String>] [-Out
    Variable <String>] [-OutBuffer <Int32>] [-WhatIf] [-Confirm]

 PS C:\> get-help write-output

NAME
    Write-Output

SYNOPSIS
    Sends the specified objects to the next command in the pipeline. If the command is the last command in the pipeline
    , the objects are displayed in the console.


SYNTAX
    Write-Output [-InputObject] <PSObject[]> [<CommonParameters>]


DESCRIPTION
    The Write-Output cmdlet sends the specified object down the pipeline to the next command. If the command is the las
    t command in the pipeline, the object is displayed in the console.

    Write-Output sends objects down the primary pipeline, also known as the "output stream" or the "success pipeline."
    To send error objects down the error pipeline, use Write-Error.

    This cmdlet is typically used in scripts to display strings and other objects on the console. However, because the
    default behavior is to display the objects at the end of a pipeline, it is generally not necessary to use the cmdle
    t. For example, "get-process | write-output" is equivalent to "get-process".


RELATED LINKS
    Online version: http://go.microsoft.com/fwlink/?LinkID=113427
    Write-Debug
    Write-Verbose
    Write-Error
    Write-Progress
    Write-Host
    Write-Warning
    Tee-Object

REMARKS
    To see the examples, type: "get-help Write-Output -examples".
    For more information, type: "get-help Write-Output -detailed".
    For technical information, type: "get-help Write-Output -full".

 PS C:\>

Coordinator
May 12, 2010 at 6:08 PM
Argh! The help file got borked somehow. It only seems to have the provider help in it. I'll take a look at this tonight and get an updated help file that has all the help in it. Thanks for reporting this.