调用自定义cmdlet不起作用?

cod*_*fun 4 powershell cmdlets

我对powershell很新.我已经构建了一个自定义cmdlet.我已经在powershell中注册了它,但我想在开始使用cmdlet之前测试它.所以我在我的解决方案中添加了一个简单的testapp.我正在尝试调用我的自定义cmdlet,如下所示:

        var deploy = new DeployCommand();
        deploy.BranchDir = @"";
        deploy.DevDir = @"d:\sandbox\testdeploy";
        deploy.Invoke();
Run Code Online (Sandbox Code Playgroud)

我在我的cmdlet中设置了一个断点,当我执行.invoke时,它从不做任何事情.我在cmdlet中覆盖的唯一方法是"ProcessRecord",但是当我调用invoke时,它从不做任何事情.我确信这很简单.有谁知道我做错了什么?

Jay*_*kul 6

调用.Invoke()返回一个IEnumerator ...你必须迭代它(例如调用MoveNext()),以便实际调用cmdlet.请参阅MSDN文档页面上的备注