2

在我的第一个基于 C# 的 Powershell cmdlet 中,我遇到了如何从自定义 cmdlet 中运行“现有”cmdlet 的问题。一路上,我发现了以下内容:

InvokeCommand.GetCmdlet("Compress-7Zip") 

InvokeCommand.GetCommand("Compress-7Zip")  
  1. 编辑第一个返回一个CmdletInfo对象第二个CommandInfo对象
  2. GetCmdlet 有一个描述“返回与名称参数对应的 CmdletInfo 对象”
  3. GetCommand 没有描述,但是在网上搜索我在 Mirosoft 的网站上找到了以下内容“在工作流中调用 Microsoft.PowerShell.Core\Get-Command 命令的活动”

为什么存在这两种方法,我们使用哪种方法?

4

1 回答 1

1

Get-Cmdlet - 返回对应于“名称”参数的 CmdletInfo 对象。

Get-Command - 获取计算机上“安装”的所有命令,包括 cmdlet、别名、函数、过滤器、脚本和应用程序。

获取 Cmdlet

https://docs.microsoft.com/en-us/dotnet/api/system.management.automation.commandinvocationintrinsics.getcmdlet?view=powershellsdk-7.0.0

获取命令 https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/get-command?view=powershell-7.2

于 2021-12-03T13:59:40.450 回答