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

Powershell Arrayvariable in Schleife füllen

Frage Entwicklung

Mitglied: fisicgn

fisicgn (Level 1) - Jetzt verbinden

10.01.2014, aktualisiert 14:27 Uhr, 8500 Aufrufe, 5 Kommentare

Hallo zusammen,

ich möchte folgendes bewerkstelligen:

Ich habe eine Arrayvariable:
$store = @("Computer1_SN","Computer2_SN","Computer3_SN","Computer4_SN","Computer5_SN")
Nun durchlaufe ich bspw. dreimal eine Schleife:
for ($i=1; $i -le 3; $i++) {$store.ComputerX_SN = "Wert"}
Diese Schleife wird unterschiedlich oft durchlaufen (1 - 5 mal).
Ich möchte nun in meiner Arrayvariable das Feld "ComputerX_SN" dynamisch ansprechen.
Wie kann ich also das "X" als Variable angeben?

Ich hoffe, es ist verständlich und danke schon mal für die Antworten.

Danke & Grüße

Mitglied: colinardo
10.01.2014, aktualisiert um 13:21 Uhr
Hallo fisicgn, Willkommen im Forum!
das was du vorhast hat keinen Sinn denn du kannst dem Array-Element so selber keinen zusätzlichen Wert zuordnen, höchstens den Array-Wert neu setzen. Du solltest hier stattdessen mit einer Hashtable arbeiten:
01.
$store = @{"Computer1_SN"="";"Computer2_SN"="";"Computer3_SN"="";"Computer4_SN"="";"Computer5_SN"=""} 
02.
for ($i=1; $i -le 3; $i++) { 
03.
    $store["Computer$($i)_SN"] = "Das ist Testwert $i" 
04.
05.
echo $store
Grüße Uwe
Bitte warten ..
Mitglied: fisicgn
10.01.2014, aktualisiert um 15:25 Uhr
Hallo Uwe,

ich habe deinen Vorschlag jetzt noch nicht getestet, aber er klingt soweit ganz gut.
Nur fällt mir dazu ein, warum ich kein Hash-Table verwenden wollte:
Ich würde abschließend gerne die Variable $store in eine csv-Datei exportieren. Und das habe ich mit meinem Array irgendwie einfacher hinbekommen:
$Array = @(.....)
[.....]
$Array | Export-Csv "C:\Array.csv" -NoTypeInformation -Delimiter:";"

Grüße
Markus
Bitte warten ..
Mitglied: colinardo
10.01.2014, aktualisiert um 15:30 Uhr
Zitat von fisicgn:
Ich würde abschließend gerne die Variable $store in eine csv-Datei exportieren. Und das habe ich mit meinem Array
irgendwie einfacher hinbekommen:
Hashtable Export in CSV, kein Problem:
01.
$obj = New-Object PSObject -Property $store 
02.
$obj | Export-Csv "C:\Array.csv" -Delimiter ";" -NoTypeInformation
Grüße Uwe
Bitte warten ..
Mitglied: fisicgn
10.01.2014, aktualisiert um 16:02 Uhr
Hm, soweit auch ok...
ich brauche aber ein Table (Array oder Hash) in welchem ich auch mehrere Zeilen einspeichern kann. Also die Bezeichnungen "ComputerX_SN" sollen die Zeilentitel darstellen

Ich versuche mein Problem nochmal zu abstrahieren:
Ich gehe also bspw. in einer weiteren Schleife welche bspw. die Raumnummern darstellt

- Von Raumnummer 1 bis Raumnummer 10
- Schaue wie viele PCs im Raum sind (1-5) und erkenne die Seriennummern
- Jeder PC hat eine eigenständige Nummer (1-5) zusätzlich zur Seriennummer

- Raum 1 hat drei PCs; PC1, PC3 und PC5. PC2 und PC4 fehlen

- Nun soll eine Variable (Hash oder Array) gefüllt werden
Titelzeile: Computer1_SN;Computer2_SN,Computer3_SN,Computer4_SN,Computer5_SN,
1. Zeile (=1. Raum): Serial1;;Serial3;;Serial5
usw.

Grüße
Markus

PS:
Muss ich vielleicht einfach einmal das Hash-Table erstellen so wie du es geschrieben hast, und dann erstelle ich noch ein Array und hänge dann immer am Ende der Schleife den Hash-Table ins Array an:
$Array += $Hashtable
Bitte warten ..
Mitglied: colinardo
10.01.2014, aktualisiert um 16:59 Uhr
Zitat von fisicgn:
$Array += $Hashtable
das ist schon der richtige Ansatz:
Du erstellst ein leeres Array, dann machst du aus einem Array in dem die Computernamen stehen ein PS-Objekt und hängst das an dein Array an. Das sind dann quasi die Überschriften. Für die Räume arbeitest du dann mit einer Hashtable und weist in dieser den Rechnern die Seriennummern zu machst daraus ein PS-Object und hängst dies dann wieder an das Array dran, usw.
01.
$arr = @() 
02.
# Überschriften  
03.
$arr += New-Object PSObject -Property @("Computer1_SN","Computer2_SN","Computer3_SN","Computer4_SN","Computer5_SN") 
04.
 
05.
for ($i=1; $i -le 10; $i++) { 
06.
    # Zeile mit entsprechender Zuordnung zum Array hinzufügen 
07.
    $arr += New-Object PSObject -Property @{"Computer1_SN"="Serial1";"Computer2_SN"="Serial2";"Computer3_SN"="Serial3";"Computer4_SN"="Serial4";"Computer5_SN"="Serial5"} 
08.
09.
# Exportieren 
10.
$arr | Export-Csv "C:\Temp\test.csv" -Delimiter ";" -NoTypeInformation
denke jetzt sollte die Methode klar sein.

Grüße Uwe
Bitte warten ..
Ähnliche Inhalte
Entwicklung
PowerShell - Schleifen
gelöst Frage von 119785Entwicklung8 Kommentare

Hallo Leute, ich habe hier eine Aufgabe und brauche mal einen kleinen Tip. Entweder habe ich eine Denkbloacke oder ...

Batch & Shell
Powershell If-Schleife funktioniert nicht
gelöst Frage von windelterroristBatch & Shell5 Kommentare

Hallo Admins Arbeite gerade an einem kleinen Script funktioniert aber nicht so, wie ich mir das vorstelle Mein Code: ...

Batch & Shell
Powershell CSV Auswertung in einer Schleife
gelöst Frage von Johnny-CGNBatch & Shell3 Kommentare

Liebe Administratoren, mein Powershell-Erfahrungsschatz wächst stetig aber langsam. Ich stehe seit einigen Tagen auf dem Schlauch. Mir liegt eine ...

Batch & Shell
Powershell Arrays deklarieren füllen abfragen ???
gelöst Frage von Viper-BerlinBatch & Shell20 Kommentare

Hallo Leute, bin Anfänger in PS und obwohl ich wieder viele Seiten PS gelesen hab ist mir immer noch ...

Neue Wissensbeiträge
Microsoft Office

Office 2010 Starter erneut auf einer frischen Windows-Version installieren

Tipp von Lochkartenstanzer vor 1 TagMicrosoft Office9 Kommentare

Moin, vor ein paar Tagen schlug bei mir ein Kunde auf, der sein Widnows 7 geschrottet und es inklusive ...

Datenbanken

Upgrade MongoDB 3.4 auf 3.6

Erfahrungsbericht von Frank vor 1 TagDatenbanken

Seit kurzem gibt es das 3.6 Update für die MongoDB: Sicherheit, das Sortieren, Aggregation und auch die Performance wurde ...

SAN, NAS, DAS

Backdoor Zugang und Upload-Bug in vielen Western Digital MyCloud Geräten

Information von Frank vor 1 TagSAN, NAS, DAS2 Kommentare

James Bercegay von der Firma Gulftech hat die Fehler an Western Digital gemeldet und das Unternehmen stellt bereits ein ...

Microsoft Office

Outlook 2016 - Beim Weiterleiten keine PDF Anhänge mehr - KB4011626 entfernen

Erfahrungsbericht von Deepsys vor 1 TagMicrosoft Office3 Kommentare

Wenn ihr feststellt das ihr beim Weiterleiten von E-Mails keine PDF Anhänge mehr versendent, dann dankt Microsoft. Diese tolle ...

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 ...

Drucker und Scanner
Gesucht DIN A3 Drucker
Frage von NebellichtDrucker und Scanner15 Kommentare

Hallo, ich möchte einen neuen DIN A3 Drucker kaufen. Um ab und zu, ca. 1 mal die Woche Farbausdrucke ...

iOS
Einladung vom iphone kalender
Frage von jensgebkeniOS15 Kommentare

Hallo Gemeinschaft, folgendes Problem - immer wenn ich von meinem Iphone einen Termin einztrage und diesem Termin Teilnehmer zuweise, ...

Windows Netzwerk
Drucker isolieren in Windows Domäne
gelöst Frage von lcer00Windows Netzwerk14 Kommentare

Hallo zusammen, habe eine Windows-AD (2012R2) in der es einen Druckerserver gibt. Mittlerweile verliere ich das Vertrauen in die ...