我需要從一個對象中刪除一個成員(特別是一個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。 –