[英]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.