powershell - 调用自定义 cmdlet 不起作用?

标签 powershell cmdlets

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

        var deploy = new DeployCommand();
        deploy.BranchDir = @"";
        deploy.DevDir = @"d:\sandbox\testdeploy";
        deploy.Invoke();

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

最佳答案

调用 .Invoke() 会返回一个 IEnumerator ...您必须对其进行迭代(例如调用 MoveNext()),以便实际调用 cmdlet。见MSDN docs page上的备注

关于powershell - 调用自定义 cmdlet 不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4135556/

相关文章:

powershell - 将 .ps1 的默认 "Edit"操作从 ISE 更改为 VS Code

powershell - 查找以毫秒为单位的时间?

powershell - 如何从PS输出中过滤出特定值

c# - 通过PowerShell使我的C#应用​​程序可管理

regex - PowerShell -replace 获取两个不同字符之间的字符串

powershell - 在单词中为表格的特定单元格着色

Powershell - 获取一个目录以一次输出一个文件

powershell - 在其路径中引用包含方括号 ([]) 的文件

powershell - 对于PowerShell cmdlet,是否可以始终将脚本 block 传递给字符串参数?

xml - 在 Powershell 中使用命名空间循环 XML?