Powershell get-help没有返回正确的帮助语法

时间:2015-08-19 19:33:52

标签: powershell

在Powershell 4.0中的文件系统或Windows 7上的Powershell 5.0中键入get-help ls时,我得到:

SYNTAX
Get-ChildItem [[-Path] <String[]>] [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name] [-Recurse] 
[-UseTransaction [<SwitchParameter>]] [<CommonParameters>]

Get-ChildItem [[-Filter] <String>] [-Exclude <String[]>] [-Force] [-Include <String[]>] [-Name] [-Recurse] -LiteralPath <String[]> 
[-UseTransaction [<SwitchParameter>]] [<CommonParameters>]

我希望看到另一个包含-Attributes参数信息的条目。

试图强制它,get-help ls -Path C:给我相同的结果。

再次尝试强制它,get-help ls -Parameter Attributes会出现以下错误

get-help : No parameter matches criteria Attributes.
At line:1 char:1
+ get-help ls -Parameter Attributes
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo          : InvalidArgument: (System.Manageme...CommandHelpInfo:ProviderCommandHelpInfo) [Get-Help], PSArgumentException
+ FullyQualifiedErrorId : NoParmsFound,Microsoft.PowerShell.Commands.GetHelpCommand

但是,我仍然可以运行返回适当结果的ls -Attributes d等查询。在这种情况下,是当前目录中所有目录的列表。

我尝试重新安装WMF。我尝试使用Update-Help -force重新安装帮助文档。我完全被这里难过了。

1 个答案:

答案 0 :(得分:2)

成功!这是我为了让它发挥作用而做的。

执行Save-Help以将帮助文件的本地副本保存在磁盘上。

然后运行Update-Help -SourcePath filePath以使用这些下载的文件来更新帮助。

Update-Help -force无效的原因没有任何意义。我只能猜测,我公司的系统可能设置为使用帮助文件的本地副本,但手动下载文件会强制它使用Microsoft。

有趣的是,正如帮助文件中所讨论的那样运行Get-Help Get-ChildItem -Path $null 而不是会在所有驱动器中提供有关Get-ChildItem cmdlet的信息。我不得不写get-help ls -Path Registry::hklm:\