powershell - 在 PowerShell 中混合来自 Select-Object 的扩展属性

标签 powershell select properties

Get-Module -Name Microsoft.PowerShell.Utility

ModuleType Version Name ExportedCommands


list 3.1.0.0 Microsoft.PowerShell.Utility {添加成员、添加类型、清除变量、比较对象...}

我想扩展 ExportedCommands 并打印每个命令的名称。

          Name                             ExportedCmdlets
  Microsoft.PowerShell.Utility            Add-Member
  Microsoft.PowerShell.Utility            Add-Type
  Microsoft.Powershell.Utility            Clear-Variable
  Microsoft.Powershell.Utility            Compare-Object

最佳答案

您可以使用嵌套的 foreach 循环来迭代导出的 cmdlet。如果您查看该属性的对象类型,您会发现它是一个字典。

Get-Module -Name Microsoft.PowerShell.Utility | ForEach-Object {
    $_.ExportedCmdlets | Get-Member
}

TypeName: System.Collections.Generic.Dictionary`2[[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.Management.Automation.CmdletInfo, System.Management.Automation, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35]]

由于本例中的键和名称相同,因此您可以使用其中之一。

Get-Module -Name Microsoft.PowerShell.Utility | ForEach-Object {
    foreach($cmdlet in $_.ExportedCmdlets.keys){
        [PSCustomObject]@{
            Name   = $_.Name
            Cmdlet = $cmdlet
        }
    }
}

输出(截断)

Name                         Cmdlet                
----                         ------                
Microsoft.PowerShell.Utility Add-Member            
Microsoft.PowerShell.Utility Add-Type              
Microsoft.PowerShell.Utility Clear-Variable        
Microsoft.PowerShell.Utility Compare-Object 

关于powershell - 在 PowerShell 中混合来自 Select-Object 的扩展属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69745395/

相关文章:

PHP:封装的目的是什么?

azure - 微软图谱;电源外壳;如何使用 invoke-restmethod 和 : TenantID, ClientID 和 *certificate* 获取访问 token

excel - 以编程方式将最小值/最大值添加到 Excel 右下角的状态栏

arrays - Powershell v4 Invoke-RestMethod 正文发送 System.Object

mysql - 如何从sql语句中选择准确的值

java - 从 Java 控制台程序使用 .properties 文件

.net - CryptoKeySecurity 返回 null

excel - 应用公式,从选定单元格偏移三列

MYSQL - 选择4个随机行并将它们转置为插入语句的列

java - java中的过滤属性