来自另一个模块的Powershell参数类型识别

时间:2016-12-21 14:31:22

标签: powershell powershell-v5.0

我有两个用powerhell编写的模块,一个用powerhell编写。

powershell模块包含一个返回c#类

的cmdlet
namespace SxServices
{
    [Cmdlet("Get", "SxWinService")]
    [OutputType(typeof(SxWinService))]
    public class GetSxWinService : SxCmdLetBase
    {

现在,如果我执行Get-Help Get-SxWinService -Full,它将告诉我cmd输出DataObjects.WinServices.SxWinService。这很好,下面的代码将为我提供关于这个类的所有属性的智能感知。

Get-SxWinService blah | Select-Object -Property 

但是在我的第二个模块(powershell)中,我编写了另一个接受[DataObjects.WinServices.SxWinService]类型参数的cmdlet。

Function Set-SxServiceDetails{
    [CmdletBinding()]
    param(
        [parameter()]
        [DataObjects.WinServices.SxWinService]$Service
    )

但是,PowerShell无法识别该类型,并使用intellisense为我提供此类型的有效属性列表。我觉得我错过了什么!有人有任何想法吗?

1 个答案:

答案 0 :(得分:0)

很抱歉所有人都取消了这个,不知道我在做什么,但现在一切正常。

可能只需要一些缓存需要更新或模块需要删除和重新加载。无论如何,似乎以上就是你需要做的一切。