繁体   English   中英

结合2个表Powershell的结果

[英]Combine the result of 2 tables Powershell

我想将 2 个表的结果合并为 1 个 A 和 B:

$A = Invoke-Command -ScriptBlock { get-wmiobject Win32_Product  |  where-Object{ $_.name -like "*Google*" } | select PackageName ,PSComputerName  }
$B = gwmi win32_operatingsystem | select osarchitecture ,PSComputerName

结果一:

PackageName                            PSComputerName
-----------                            --------------
googlechromestandaloneenterprise64.msi COMPUTER1  

结果 B:

osarchitecture PSComputerName
-------------- --------------
64-bit         COMPUTER1  

所需的 output:

PackageName                            PSComputerName      osarchitecture
-----------                            --------------      --------------
googlechromestandaloneenterprise64.msi COMPUTER1           64-bit

提前致谢

有几种方法可以做到这一点,其中两种如下所示:

使用Select-Object

使用Select-Object ,我们可以通过将 output 从一个命令拼接到另一个命令的 output 来创建一个新的 object:

$OSArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
Get-WmiObject Win32_Product |Where-Object Name -like "*Google*" |Select-Object PackageName,@{Name='OSArchitecture';Expression={$OSArch}},PSComputerName

创建一个[pscustomobject]

另一个流行的选项是使用 PowerShell 3.0 中引入的[pscustomobject]语法:

$OSArch = (Get-WmiObject Win32_OperatingSystem).OSArchitecture
Get-WmiObject Win32_Product |Where-Object Name -like "*Google*" |ForEach-Object {
    [pscustomobject]@{
        PackageName = $_.PackageName
        OSArchitecture = $OSArch
        PSComputerName = $_.PSComputerName
    }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM