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

Hashtable erstellen

Frage Entwicklung Batch & Shell

Mitglied: mguenth83

mguenth83 (Level 1) - Jetzt verbinden

15.08.2014 um 10:20 Uhr, 793 Aufrufe, 7 Kommentare

Hi,
ich wollte kurz fragen ob jemand weiss wie man in Powershell ein Hashtable erzeugt und diese nach und nach füllt. Damit dann zum schluss ein PS Object erstellt werden kann.

Ich habe nämlich eine Forechschleife und die Daten die darauf resultieren sollen der Hashtabelle angefügt werden damit ich später ein psobject draus machen kann.


So sollte es später aussehen:

Zeile Druckername
------------------
1 2

Hinzufügen in der foreach schleife

der wert 2 und 3

Gruß
Matze
Mitglied: colinardo
15.08.2014, aktualisiert um 10:40 Uhr
01.
$ht = @{} 
02.
1..10 | %{$ht[$_] = "BlaBla"} 
03.
$ht
oder direkt ein Objekt erzeugen und es in einem Array hinzufügen, das entspricht vermutlich eher deinen Vorstellungen:
01.
$arr = @() 
02.
for ($i = 1; $i -le 10; $i++){ 
03.
    $arr += new-Object PSObject -Property @{"Zeile"=$i;"Druckername"="BlaBla"} 
04.
05.
$arr
Working with Hash Tables

Grüße Uwe
Bitte warten ..
Mitglied: mguenth83
15.08.2014 um 11:09 Uhr
Hi Uwe...
super jetzzt weiss ich wieder mehr...

öhm habe nur das Problem das ich jetzt noch das den gerade verarbeitendes Object angeben muss...

hier mal der Code
01.
$Location = Read-Host Servername: 
02.
$Server = "$Location"+"W8-S-DC01" 
03.
 
04.
$Session = New-PSSession -ComputerName $Server 
05.
#Enter-PSSession -ComputerName $Server 
06.
Import-PSSession -Session $Session -CommandName "Restart-Service" -Prefix Remote | Out-Null 
07.
 
08.
#Druckernamen mit Jobs 
09.
$Printers = ((Get-WmiObject -ComputerName $Server -Class win32_PrintJob).Name).Split(",") | where {$_ -like "$Location*"} 
10.
$printers_Count = $Printers.Count 
11.
 
12.
#Tabelle erzeugen 
13.
$arr = @() 
14.
 
15.
#Menue erzeugen 
16.
for ($i = 1; $i -le $printers_Count; $i++){ 
17.
    $arr += new-Object PSObject -Property @{"Zeile"=$i;"Druckername"="$Printer"} 
18.
19.
 
20.
$arr 
21.
 
22.
#Spooler neustarten 
23.
#Get-RemoteRestart-Service Spooler 
24.
 
25.
Remove-PSSession -ComputerName $Server 
26.
 
Bitte warten ..
Mitglied: mguenth83
15.08.2014 um 11:16 Uhr
Habs selber...
hab die Zeile hinzugefügt bei Menue erzeugen..
$Printer = ($Printers)[$i-1]
Bitte warten ..
Mitglied: colinardo
15.08.2014, aktualisiert 16.08.2014
würde Zeile 9 so schreiben:
$Printers = Get-WmiObject -ComputerName $Server -Class win32_PrintJob | ?{$_.Name -like "*$Location*"} 
und Zeile 17 dann
$arr += new-Object PSObject -Property @{"Zeile"=$i;"Druckername"=$Printers[$i-1].Name}
Grüße Uwe

Objekte solange Objekte sein lassen wie möglich lautet die Devise!
Bitte warten ..
Mitglied: mguenth83
15.08.2014 um 11:42 Uhr
Hi,
super leider habe ich noch ein lettes Problem...da stand ich schon vor Wochen davor uns hab nur net Notlösung gehabt...

und zwar ist der Output irgendwie ganz nach rechts geschoben in der Console....es sieht so aus als wenn die Tabelle zu viele Leerzeichen enhält, besonders die Spalte "Zeile"

Kann man die Größen der Spalten irgendwie noch anpassen?

Danke und Merci für die Hilfe
Bitte warten ..
Mitglied: colinardo
15.08.2014 um 11:47 Uhr
Zitat von mguenth83:
Kann man die Größen der Spalten irgendwie noch anpassen?
$arr | ft -AutoSize
Bitte warten ..
Mitglied: colinardo
16.08.2014 um 13:04 Uhr
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen. Merci.
Bitte warten ..
Ähnliche Inhalte
Batch & Shell
gelöst Powershell Hashtable to Übersichtliche Darstellung (2)

Frage von Marabunta zum Thema Batch & Shell ...

Netzwerke
gelöst Wie erstelle ich ein Intranet (20)

Frage von Leonardnet zum Thema Netzwerke ...

Hyper-V
Kann keinen Prüfpunkt erstellen (2)

Frage von MAC-HC zum Thema Hyper-V ...

Verschlüsselung & Zertifikate
gelöst SSL selbst erstellen (3)

Frage von Angosch zum Thema Verschlüsselung & Zertifikate ...

Neue Wissensbeiträge
Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(2)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Windows 10

Windows 10: Erste Anmeldung Animation deaktivieren

(3)

Anleitung von alemanne21 zum Thema Windows 10 ...

Heiß diskutierte Inhalte
Netzwerkprotokolle
gelöst Leiten "dumme" Switches VLAN-Tags mit durch? (26)

Frage von coltseavers zum Thema Netzwerkprotokolle ...

Windows Server
gelöst Neues KB für W10 1607 und W2K16 wieder mal nicht im WSUS 3.0, hat das noch jemand? (16)

Frage von departure69 zum Thema Windows Server ...

Netzwerkgrundlagen
Kann auf Freigabe nicht Zugreifen (16)

Frage von leon123 zum Thema Netzwerkgrundlagen ...

Router & Routing
FTTH bzw FTTB Router (13)

Frage von ukulele-7 zum Thema Router & Routing ...