首页 > 解决方案 > 获取帮助:找不到自定义属性“System.Management.Automation.PSCredential”的类型

问题描述

我有一个我编写的 Powershell 模块,它包含两个使用 [System.Management.Automation.PSCredential] 作为参数类型的函数:

这是第一个函数的参数列表:

param(
     [parameter(mandatory=$true)]  [string]      $a
    ,[parameter(mandatory=$true)]  [string]      $b
    ,[parameter(mandatory=$true)]  [string]      $c
    ,[System.Management.Automation.PSCredential] $d
)

这是第二个函数的参数列表:

param(
      [parameter(mandatory=$true)]  [string]      $a                                          
     ,[parameter(mandatory=$true)]  [string]      $b                              
     ,[parameter(mandatory=$true)]  [string[]]    $c                                 
     ,[parameter(mandatory=$true)]  [string]      $d       
     ,[System.Management.Automation.PSCredential] $e
     ,[parameter(mandatory=$false)] [switch]      $f                              
     ,[parameter(mandatory=$false)] [switch]      $g                              
     ,[parameter(mandatory=$false)] [switch]      $h                              
     ,[parameter(mandatory=$false)] [switch]      $i                              
)

两个函数都按预期执行,但是,当我对第二个函数执行 Get-Help 时,我得到:

获取帮助:找不到自定义属性“System.Management.Automation.PSCredential”的类型。确保已加载包含此类型的程序集。在 line:1 char:1 + Get-Help Invoke-PfaDbRefresh + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : InvalidOperation: ([ System.Managem...ndatory=$true)]:AttributeAst) [Get-Help], RuntimeEx ception + FullyQualifiedErrorId : CustomAttributeTypeNotFound,Microsoft.PowerShell.Commands.GetHelpCommand

尽管 Get-Help 在第一个函数上工作得非常好。

有任何想法吗 ?

标签: powershell

解决方案


我已将所有最新更新应用到我的 Windows 2016 服务器,重新启动它,现在似乎一切正常。这不能解释为什么 Get-Help 使用 PSCredential 为一个函数工作,而不是另一个。但我很高兴这已解决。


推荐阅读