Ho bisogno di rimuovere un membro (in particolare, una proprietà Note) da un oggetto. Come posso realizzare questo?Rimuovere un membro da un oggetto PowerShell?
risposta
Select-Object
con ExcludeProperty
è utile per rimuovere una proprietà da una raccolta di oggetti.
Per la rimozione di una proprietà da un singolo oggetto questo metodo potrebbe essere più efficace:
# 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')
Non penso che sia possibile rimuovere da un oggetto esistente ma è possibile crearne uno filtrato.
$obj = New-Object -TypeName PsObject -Property @{ Test = 1}
$obj | Add-Member -MemberType NoteProperty -Name Foo -Value Bar
$new_obj = $obj | Select-Object -Property Test
O
$obj | Select-Object -Property * -ExcludeProperty Foo
Questo raggiungerà in modo efficace lo stesso risultato.
La parte '' -Property * è realmente necessario o non funziona. Grazie per il suggerimento Andy! – DarkLite1
Se può dipendere dal tipo di oggetto o la raccolta che si desidera rimuovere dal. Di solito è una collezione (array) di oggetti come si potrebbe ottenere da 'import-csv' che si può fare abbastanza facilmente.
$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
Il per rimuovere una proprietà da ciascuno di questi:
$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. Come rimuovere un elemento da un array in PowerShell?
- 2. LinkedList: rimuovere un oggetto
- 3. Come rimuovere qualificatore const da un puntatore a funzione membro
- 4. Come posso rimuovere un simbolo da un oggetto condiviso?
- 5. Come rimuovere un oggetto da un ArrayList in Java?
- 6. Come rimuovere solo un'istanza di un oggetto da un NSMutableArray?
- 7. Come rimuovere un singolo parametro da un oggetto richiesta Symfony2
- 8. Rimuovere un oggetto da un dizionario mutabile genera un'eccezione
- 9. Passare un oggetto personalizzato da C# a Powershell
- 10. Restituzione di un oggetto dal cmdlet PowerShell
- 11. Perfetto inoltro di un membro di oggetto
- 12. tratto da rilasciare const da un tipo di funzione membro?
- 13. Rimuovere matrice da JavaScript oggetto
- 14. Rimuovere elemento da JSON oggetto
- 15. Come rimuovere un oggetto da una matrice in Immutable?
- 16. Come rimuovere un elemento da un IGogruppo
- 17. Rimuovere un attributo da XmlNode
- 18. Rimuovere un livello da un grafico ggplot2
- 19. Come dichiarare un membro statico in una classe Powershell 5?
- 20. ArrayList - Come modificare un membro di un oggetto?
- 21. PowerShell Rimuovi elemento [0] da un array
- 22. Un oggetto può rimuovere se stesso? Come?
- 23. Chiama un metodo membro non statico da un altro metodo
- 24. Rimuovere un metodo solo da un'istanza
- 25. Rimuovere un elemento da un vettore
- 26. Come rimuovere un campo da un documento
- 27. Come rimuovere un elemento da un set?
- 28. Rimuovere un livello da un panda MultiIndex
- 29. Rimuovere un indicatore da un GoogleMap
- 30. Rimuovere un campo da un documento Elasticsearch
Molto bello, ho imparato qualcosa di nuovo. –
Ah! Stavo lavorando con il metodo 'Remove' e non riuscivo a farlo funzionare, ma ha senso che dovresti applicarlo in modo specifico alla classe con le proprietà al suo interno. Grazie a tutti e due. – Tohuw
Mi sono scocciato con Rimuovi la scorsa notte e da quello che posso dire non sempre funziona. Prova 'Get-Process -id $ pid | % {$ _. psobject.properties.remove ('__ NounName'); $ _} | % __NounName'. Non è sorprendente che funzioni anche con psobject o pscustomobject. OTOH sono riuscito a ottenerlo con DisplayHint su Get-Date. –