Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Frage zu Powershell Custom Object

Frage Entwicklung Batch & Shell

Mitglied: Scroller

Scroller (Level 1) - Jetzt verbinden

25.06.2014 um 06:22 Uhr, 1594 Aufrufe, 2 Kommentare

Hallo,

ich will mir in Powershell ein Objekt mit mehreren "Datensätzen" Erzeugen.

so..

$object = New-Object –TypeNamePSObject
$object | Add-Member –MemberTypeNoteProperty –Name OSBuild –Value $os.BuildNumber

..kann ich mir ja ein neues Objekt erzeugen und Members sowie Werte hinzufügen.

Ich will jedoch dass $object eine Art Array wird in dem ich weitere Datensätze hinzufügen oder auch löschen kann.

Geht das mit New-Object, wenn aj wie?

Danke!

Schroller
Mitglied: colinardo
LÖSUNG 25.06.2014, aktualisiert um 11:16 Uhr
Hallo Scroller,
ja kein Problem, Beispiel mit einer ArrayList:
01.
# Arraylist erzeugen 
02.
$array = new-object System.Collections.ArrayList 
03.
 
04.
# Objekte mit Eigenschaften und zugehörigen Werten erzeugen 
05.
$obj1 = new-Object PSObject -Property @{"Eigenschaft1"=Auto";"Eigenschaft2"="BMW"} 
06.
$obj2 = new-Object PSObject -Property @{"Eigenschaft1"="Motorrad";"Eigenschaft2"="Ducati"} 
07.
 
08.
# Objekte zur ArrayList hinzufügen (das out-null verhindert nur das der Index auf der Konsole ausgegeben wird) 
09.
$array.Add($obj1) | out-null 
10.
$array.Add($obj2) | out-null 
11.
 
12.
# Objekte aus dem Array löschen 
13.
# ... via Objekt 
14.
$array.Remove($obj1) 
15.
# ... via Index 
16.
$array.RemoveAt(0) 
17.
# ... via Index für einen Range z.B ab Index 0 entferne 2 Objekte 
18.
$array.RemoveRange(0,2)
alternativ kannst du es auch mit einem Standardarray so machen:
01.
# Array erzeugen 
02.
$array = @() 
03.
 
04.
# Objekte direkt an das Array anhängen 
05.
$obj1 = new-Object PSObject -Property @{"Eigenschaft1"=Auto";"Eigenschaft2"="BMW"} 
06.
$obj2 = new-Object PSObject -Property @{"Eigenschaft1"="Motorrad";"Eigenschaft2"="Ducati"} 
07.
 
08.
# Einträge daraus löschen 
09.
# z.B. das erste Objekt im Array anhand dessen Wert 
10.
$array = $array | ?{$_.Eigenschaft1 -ne "Auto"}
Zum entfernen benutzt du dann die Standardmethoden zum Filtern der Einträge mit Where-Object (Im Beispiel ist ?{} die Abkürzung dafür)

Noch zur Info so nebenbei: Ab PS3.0 gibt es noch einen performanteren Weg "CustomObjects" zu erzeugen:
$obj = [pscustomobject]@{Wert1=1; Wert2=2; Wert3=3}
Grüße Uwe
Bitte warten ..
Mitglied: Scroller
25.06.2014 um 11:17 Uhr
Hallo Uwe,

danke für Deine Unterstützung.
Das wars!

Gruss
SC
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
PowerShell Transpose Objects und Memoryleak
gelöst Frage von agowa338Batch & Shell11 Kommentare

Hallo, weiß jemand wie ich folgenden Powershell Code etwas optimieren kann? Ich habe sehr viele Eventlog Einträge 100.000 die ...

Batch & Shell
Powershell Daten aus einem Object holen
gelöst Frage von H41mSh1C0RBatch & Shell2 Kommentare

Guten Morgen, ich bekomme es nun hin das ich alle Daten vom Server als ein Object geliefert bekomme. Jetzt ...

Batch & Shell
PowerShell Compare-Object
gelöst Frage von derhoeppiBatch & Shell1 Kommentar

Hallo mit Hilfe von Compare-Object vergleiche ich zwei Array. Dabei kommen einige Unterschiede heraus. Ich habe ein führendes Array ...

Batch & Shell
PowerShell Object problem
gelöst Frage von CloudyBatch & Shell3 Kommentare

Hallo, ich habe aktuell ein kleines Problem. Ich erhalte eine CSV Datei mit den Spalten Standort und IP-Adresse zu ...

Neue Wissensbeiträge
Mac OS X

MacOS wo ist die Tilde ?

Tipp von Alchimedes vor 10 StundenMac OS X1 Kommentar

Hallo, ich hab eine MacOS qwertz Keyboard auf US Layout umgestellt da die Sonderzeichen besser erreichbar sind. Leider fehlt ...

Datenschutz

Weitere Informationen zum Sicherheitsproblem BeA

Information von Penny.Cilin vor 17 StundenDatenschutz

Im folgenden ein weiterer Bericht über die Sicherheitsprobleme von Bea. Fataler Konstruktionsfehler im besonderen elektronischen Anwaltspostfach Gruss Penny

Windows 10

Systemdienste behalten nach Win10 inplace-Upgrade nicht die ggf. modifizierte Startart bei

Tipp von DerWoWusste vor 19 StundenWindows 103 Kommentare

Stellt Euch vor, Ihr habt ein Win10 System und modifiziert dort die Startart von Systemdiensten. Zum Beispiel wollt Ihr ...

Microsoft Office

Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei

Anleitung von SarekHL vor 22 StundenMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...

Heiß diskutierte Inhalte
Netzwerke
NTFS-Berechtigung
Frage von Daoudi1973Netzwerke23 Kommentare

Hallo zusammen und frohes neues Jahr (Sorry, ich bin spät dran) Meine Frage: 1- Ich habe einen Ordner im ...

Batch & Shell
AD-Abfrage in Batchdatei und Ergebnis als Variable verarbeiten
gelöst Frage von Winfried-HHBatch & Shell19 Kommentare

Hallo in die Runde! Ich habe eine Ergänzungsfrage zu einem alten Thread von mir. Ausgangslage ist die Batchdatei, die ...

Windows 10
Netbook erkennt Soundkarte nicht - keinerlei Info zum Hersteller und Modell vom Netbook und Hardware bekannt
Frage von fyrb38Windows 1018 Kommentare

Guten Tag, meine Schwester reist in einigen Wochen für ein paar Monate ins Ausland und hat sich dafür ein ...

Microsoft Office
Deaktivieren von Startbildschirm und Backstage-Ansicht in Office 2016 per Batch-Datei
Anleitung von SarekHLMicrosoft Office17 Kommentare

Guten Morgen zusammen! Ich habe mir gestern (auch mit Hilfe dieses Boards) ein Script gebastelt, um in Office 2016 ...