Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Powershell Hashtable - Relativ sinnvoll eingesetzt?

Frage Entwicklung Batch & Shell

Mitglied: Marabunta

Marabunta (Level 1) - Jetzt verbinden

22.01.2015, aktualisiert 23.01.2015, 1870 Aufrufe, 3 Kommentare

Ich hab das mal geschrieben um für zukünftige Einsätze die Powershell Hastables einsetzen zu können.
Habt ihr da evtl. bessere Wege?
Dabei geht es nicht um Datenerfassung wie im Beispiel, sondern darum ob die Methode die Hashtable zu füllen gut ist oder nicht.
01.
$users="Hans","Peter","Gustav" 
02.
$Datenerfassung=@{Benutzer="$users";Password="Geben Sie Ihr Kennwort ein.";Username="Geben Sie Ihren Benutzernamen ein.";ID="Geben Sie Ihre ID ein."} 
03.
foreach($user in $users){ 
04.
$ID_User="ID_"+"$User" 
05.
$Username_User="Username_"+"$User" 
06.
$Password_User="Password_"+"$User" 
07.
$Datenerfassung.$ID_User=Read-Host ""$Datenerfassung.ID 
08.
$Datenerfassung.$Username_User=Read-Host ""$Datenerfassung.Username 
09.
$Datenerfassung.$Password_User=Read-Host ""$Datenerfassung.Password 
10.
11.
$datenerfassung.getenumerator() |sort-object -Property key 
12.
 
13.
Name                           Value 
14.
----                           ----- 
15.
Benutzer                       Hans Peter Gustav                               
16.
ID                             Geben Sie Ihre ID ein. 
17.
ID_Gustav                      IDvonGustav 
18.
ID_Hans                        IDvonHans 
19.
ID_Peter                       IDvonPeter 
20.
Password                       Geben Sie Ihr Kennwort ein. 
21.
Password_Gustav                PasswortvonGustav 
22.
Password_Hans                  PasswortvonHans 
23.
Password_Peter                 PasswortvonPeter 
24.
Username                       Geben Sie Ihren Benutzernamen ein. 
25.
Username_Gustav                BenutzernamevonGustav 
26.
Username_Hans                  BenutzernamevonHans 
27.
Username_Peter                 BenutzernamevonPeter
Mitglied: colinardo
22.01.2015, aktualisiert um 16:09 Uhr
Hallo marabunta,
eher suboptimal... Wenn du flexibel bleiben willst mach das ganze doch mit einem PSObject, das kannst du später nach Bedarf auch um weitere Daten und Spalten erweitern. Hashtables sind eher nur was für einen Key mit einem Wert, mehr nicht.

Beispiel mit Custom Objects
01.
# Array erstellen das unsere Objects(Zeilen) zusammenfasst 
02.
$allData = @() 
03.
 
04.
# PSCustomObject dem Array hinzufügen / Kannst du natürlich auch mit einer Schleife nutzen 
05.
$allData += New-Object PSObject -Property @{Benutzer="BenutzerA";ID="ID_A";Password='Geheim'} 
06.
$allData += New-Object PSObject -Property @{Benutzer="BenutzerB";ID="ID_B";Password='Geheim'} 
07.
 
08.
$allData
Der Vorteil mit einem Custom-Object ist z.B. das es sich sehr einfach z.B direkt an das CMDLet export-csv pipen lässt wenn man mal einen Export benötigt. Und nicht nur das, Objekte sind einfach besser zu handhaben und flexibel erweiterbar.

Hashtables haben auch Ihre Berechtigung, es kommt aber eben auf den Verwendungszweck an.

Grüße Uwe
Bitte warten ..
Mitglied: Marabunta
22.01.2015, aktualisiert um 16:19 Uhr
Ich dachte schon mit Hashtables hätte ich in der Kategorie Array schon das mächtigste in PS gefunden.
Naja umso besser...thx
Bitte warten ..
Mitglied: colinardo
LÖSUNG 22.01.2015, aktualisiert 23.01.2015
Zitat von Marabunta:

Ich dachte schon mit Hashtables hätte ich in der Kategorie Array schon das mächtigste in PS gefunden.
Naja umso besser...thx
Schau dir mal das NET-Framework an, dann weist du was dir entgeht
Daraus lassen sich nämlich fast alle Klassen auch in Powershell nutzen....denn Powershell basiert auf .NET
.NET Framework-Klassenbibliothek
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Batch & Shell
gelöst Powershell Hashtable to Übersichtliche Darstellung (2)

Frage von Marabunta zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell Daten aus Array mit Daten aus Hashtable verknüpfen (2)

Frage von derhoeppi zum Thema Batch & Shell ...

Batch & Shell
gelöst PowerShell String zerlegen in Array, DataTable, Hashtable speichern (7)

Frage von derhoeppi zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (21)

Frage von Xaero1982 zum Thema Microsoft ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...