我需要从一个对象中删除一个成员(特别是一个NoteProperty)。我该如何做到这一点?从PowerShell对象中移除成员?
20
A
回答
30
Select-Object
与ExcludeProperty
适用于从对象集合中删除属性。
对于来自单个物体移除属性这个方法可能更有效:
# new object with properties Test and Foo
$obj = New-Object -TypeName PSObject -Property @{ Test = 1; Foo = 2 }
# remove a property from PSObject.Properties
$obj.PSObject.Properties.Remove('Foo')
11
我不认为你可以从现有的对象中删除,但你可以创建一个过滤的。
$obj = New-Object -TypeName PsObject -Property @{ Test = 1}
$obj | Add-Member -MemberType NoteProperty -Name Foo -Value Bar
$new_obj = $obj | Select-Object -Property Test
或者
$obj | Select-Object -Property * -ExcludeProperty Foo
这将有效地达到同样的效果。
+8
的部分'-Property *'真的有必要或不工作。感谢提示Andy! – DarkLite1
0
如果可以依靠你要从中删除对象或集合的类型。通常它的一个像你一样的对象的集合(数组)可能来自'import-csv',你可以很容易地做到这一点。
$MyDataCollection = Import-CSV c:\datafiles\ADComputersData.csv
$MyDataCollection
Windows Server : lax2012sql01
IP : 10.101.77.69
Site : LAX
OS : 2012 R2
Notes : V
Windows Server : sfo2016iis01
IP : 10.102.203.99
Site : SFO
OS : 2012 R2
Notes : X
的,从每一个这些删除属性:
$MyDataCollection | ForEach { $_.PSObject.Properties.Remove('Notes') }
Windows Server : lax2012sql01
IP : 10.101.77.69
Site : LAX
OS : 2012 R2
Windows Server : sfo2016iis01
IP : 10.102.203.99
Site : SFO
OS : 2012 R2
相关问题
- 1. 从对象中移除成员?
- 2. 从ArrayList中移除对象?
- 3. 从UITableViewCell中移除对象
- 4. 从一组对象中移除对象
- 5. 从其成员函数中删除对象
- 6. 成员方法如何删除对象?
- 7. Powershell移动AD对象
- 8. 从fetchedResultsController中移除一个对象fetchedObjects
- 9. Javascript - 计数并从对象中移除
- 10. 不从ArrayList中移除对象
- 11. 从对象jquery中移除元素
- 12. 如何从animationDidStop中移除CALayer对象?
- 13. 从javascript对象中移除元素
- 14. 从NSMutableDictionary中移除特定的对象
- 15. C++从向量中移除对象
- 16. 从对象中移除额外属性
- 17. 从addBody对象中移除重力
- 18. Fabric.js将对象从toDataURL中移除
- 19. 从元素集中移除对象
- 20. 如何从JavaScript对象中移除setter?
- 21. 如何从对象中移除动画?
- 22. 从ArrayList中移除一个对象
- 23. 从json响应中移除对象Android
- 24. 从ViewPort中移除ScreenSpaceLines3D对象?
- 25. 碰撞时从ArrayList中移除对象
- 26. 猫鼬从对象中移除属性
- 27. 从数组对象中移除条目
- 28. Powershell - 从多个AD组中删除多个AD成员
- 29. 从powershell中删除一个或多个成员
- 30. 从nsarray中移除一个对象将全部移除
非常好,学到了新东西。 –
啊!我使用'Remove'方法进行工具化,并且无法使其工作,但有意义的是,您必须将它专门应用于具有其中的属性的类。感谢你们俩。 – Tohuw
昨天晚上,我在搞清除,从我可以告诉它并不总是工作。尝试'Get-Process -id $ pid | %{$ _。psobject.properties.remove('__ NounName'); $ _} | %__NounName'。毫不奇怪,它甚至可以与psobject或pscustomobject一起工作。 OTOH我可以在Get-Date上使用DisplayHint。 –