powershell - 在PowerShell中组合/合并对象的快速方法
问题描述
我有两个对象,每个对象包含 20 多个属性。
第一个来自 Get-ADUser,第二个是使用 Access 数据库中的 SQL 查询构建的。
所以现在我有例如 $object1 , $object2。
我正在通过执行自定义对象来组合这些对象,例如:
$properties = [ordered]@{
'a'=$object1.propertyX;
'b'=$object1.propertyY;
'c'=$object2.propertyX;
...
}
$CombinedObject = New-Object –TypeName PSObject -Property $properties
这会起作用,但是要花很多时间来输入每个对象总共约 40 个属性。
有没有一种更快的方法可以将两个对象及其所有属性组合到一个自定义对象中,这样可以节省我所有的打字时间?
解决方案
您可以为每个对象的属性创建一个哈希表,并从中创建一个对象。我建议在每个属性上添加 AD 和 SQL 前缀,以了解它来自哪个对象并避免冲突。
$PropertyHT = @{}
$object1.psobject.properties.name | ForEach-Object{ $PropertyHT.Add("AD$_",$Object1.$_) }
$object2.psobject.properties.name | ForEach-Object{ $PropertyHT.Add("SQL$_",$Object2.$_) }
$CombinedObject = New-Object –TypeName PSObject -Property $PropertyHT
推荐阅读
- javascript - Javascript 选项和单选价值价格计算
- python - 如何将大于 59 的熊猫数据框的分钟列转换为正确的日期时间?
- html - 在带有 ngStyle 的背景图像 CSS 表达式中使用 SafeUrl?
- javascript - 将 Vue 事件处理程序分配给方法的返回值
- python - Elastic Beanstalk 未按预期运行 strptime
- php - 自 SameSite 以来,会话数据在 Chrome 中没有保留
- node.js - 如何使用 node/express/sqllite 执行多个查询并返回累积响应
- ruby - 如何将浮点数转换为整数?
- windows - 通过 Power Shell 脚本将 Quad9 设置为 DNS (Windows 10)
- docker - Kubernetes 映像崩溃应用程序,在 Docker 中工作,但在 Kub 中不工作?