
newbi2009
Members-
Gesamte Inhalte
31 -
Registriert seit
-
Letzter Besuch
Alle erstellten Inhalte von newbi2009
-
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hi Evgenij, danke für den Tipp mit $ErrorActionPreference. Das ist okay für mich. Unsere Firmen-Policies sind relativ strikt, sodass es ein schier endloser Prozess ist, neue Software (auch Powershell-Module sind "neue Software") genehmigt zu bekommen, daher der Weg über die externen *.exe-Dateien Bleibt meine zweite Frage: Warum funktioniert der Bind nur bei jedem zweiten Lauf??? Gruß Holger -
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
ja - die Zeile funktiniert ja auch in der Powershell, wirft nur diese blöde Fehlermeldung -
Fehlermeldung open LDAP - ldapsearch.exe
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
Hallo zusammen, wir betreiben einen/mehrere LDAP Server (kein Active Directory). Bisher habe ich für Powershell-basierende Abfragen immer die von Lotus Notes mitgeliferten ComandLine-Tools (hier ldapsearch.exe) benutzt, was ganz gut funktioniert hat. Leider wird uns wohl bald der Notes client und somit auch die da mit kommenden LDAP CL-Tools deinstalliert, sodass ich mich nach einer anderen Lösung umschauen musste... Hier bin ich auf "open LDAP for Windows" gestossen. Software ist nun installiert und ich kann auf die cl-Tools zugreifen. Jetzt zu meinem zwei Problem: Eins vorweg: Egal, ob ich den Bind mit "-x" oder ohne durchführe, ist das Ergebnis das Gleiche & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -H ldap://XXXXX.home.local:2390 -D $username -w $script:pw -b $script:DN -s base "objectClass=*" userCertificate > $safepath oder Bind mit „-x“ – kein Unterschied: & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -x -H ldap://XXXXX.home.local:2390 -D $username -w $script:pw -b $script:DN -s base "objectClass=*" userCertificate > $safepath ich bekomme IMMER folgende Fehlermeldung im Programmfenster (Powershell ISE) angezeigt (auch ein Umleiten mit 2>&1 bringt nicht mehr Fehlermeldungs-Text in der Ausgabe-Datei) ldapsearch.exe : ldap_bind: Success (0) In C:\Users\xxxxx\Documents\Powershell-Scripte\Benutzer von PROD in TEST\Benutzer_von_PROD_nach_TEST.ps1:498 Zeichen:18 + ... & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -H ldap://xxxx ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (ldap_bind: Success (0):String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError additional info: Bind succeeded. Ich verstehe nicht, was hier "angemeckert" wird. Es steht explizit in der Meldung, dass der Bind funktioniert hat, und auch die Ausgabe funktioniert korrekt Dies ist der Text der Ausgabedatei) --------------------------------------- # extended LDIF # # LDAPv3 # base < cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One > with scope baseObject # filter: objectClass=* # requesting: userCertificate # # DoeJohn, Extern, Three, Two, One dn: cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One userCertificate;binary:: MIIHaDCCBVCgAwIBAgIDSHYqMA0GCSqGSIb3DQEBCwUAMFwxCzAJB gNVBAYTAkRFMRkwFwYDVQQKExBQS0ktMS1WZXJ3YWx0dW5nMRMwEQYDVQQLEwpCdW5kZXN3ZWhyMR 0wGwYDVQQDExRCdyBWLVBLSSBDQSAyMDIyIC0gMjAeFw0yMzAyMTUxMDEwMDlaFw0yODAyMTUxMDE wMDlaMFgxCzAJBgNVBAYTAkRFMQ0wCwYDVQQKEwRidW5kMQ0wCwYDVQQLEwRibXZnMRAwDgYDVQQL EwdwZXJzbWlsMRkwFwYDVQQDExBHZXV0aW5nIFRob3JzdGVuMIICIjANBgkqhkiG9w0BAQEFAAOCA qvkJ++i7MSkz6FguCrewZ+d3QiogHFh5QI77zQklognb+6GhGyH9Iv0amzRLCVWyWgxPMw0OUs92K 7H4thYcNpl/l8QB5rf0v/R23vSEOgMqypkORkNGRZ2hf36kWuJPil60657xAbfoArGXdiF+Hs+tv8 zPkdwrTtg9flgDVVeceRfGDzuaUf0NYU2ee7xBVO2oJyd1mgBDdZfMihRTrYM70+ewmqDYp4wiuCb wsh++XX9hts9BI+ldO2Lm4FMmoOjQjg5/SrdWh6gLEeLeZDmxSXtl8WafGlLpLDRNK3zYiaR+soW4 EEWI6kz0ZhqRAs0AQlQcD5qqCTmWvylvtjPyRnW1NA4fpc7RIi02Zcj2v7pdsd+lnwZ8sr9UblQFi WqKSFk/hvvgdzCVwA== # search result search: 2 result: 0 Success text: Search succeeded. Found 1 Entries (0 Aliases), 1 Attributes, 1 Values. (C hainedResult=no) # numResponses: 2 # numEntries: 1 ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- Was ich aber noch viel merkwürdiger finde, ist der Fakt, dass ich bei JEDEM 2. VERSUCH, das Skript laufen zu lassen, den Fehler bekomme, dass das Bind NICHT funktioniert hat: ldapsearch.exe : ldap_bind: Success (0) In C:\Users\xxxxx\Documents\Powershell-Scripte\Benutzer von PROD in TEST\Benutzer_von_PROD_nach_TEST.ps1:498 Zeichen:18 + ... & "C:\OpenLDAP\ClientTools\ldapsearch.exe" -x -H ldap://x ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (ldap_bind: Success (0):String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError additional info: Bind succeeded. ldap_result: Can't contact LDAP server (-1) Dann ist die Ausgabedatei auch "quasi" leer: # extended LDIF # # LDAPv3 # base < cn=DoeJohn,ou=Extern,ou=Three,o=Two,c=One > with scope baseObject # filter: objectClass=* # requesting: userCertificate # # numResponses: 0 Kann mich hier irgend jemand erleuchten, wo/was genau mein Fehler ist? Vielen Dank Gruß Holger -
SQL verschachtelte Abfrage WMI für BGInfo
newbi2009 antwortete auf ein Thema von newbi2009 in: MS SQL Server Forum
Hallo zusammen, danke für die Antworten. Nur falls es noch interessiert: Ich habe es jetzt gelöst, indem ich 2 verschiedene WMI Abfragen "gebaut" habe - und die beiden Ausgaben hintereinander anzeigen lasse: 1. Abfrage nach "welcher Adapter verbunden ist (LAN oder WLAN) SELECT NetConnectionID FROM Win32_NetworkAdapter WHERE NetConnectionID = 'WLAN' or NetConnectionID = 'ETHERNET' and NetEnabled = 'TRUE' => @zahni: Das funktioniert doch.... 2. Abfrage nach der IPAdresse: SELECT IPAddress FROM Win32_NetworkAdapterConfiguration where DNSDomain = 'homedomain' Gruß Holger -
SQL verschachtelte Abfrage WMI für BGInfo
newbi2009 hat einem Thema erstellt in: MS SQL Server Forum
Hallo Gemeinde, ich habe ein Problem mit einer SQL-Abfrage aus WMI (für die Anzeige in BGInfo) und hoffe, Ihr könnt mich „erhellen“ 😊 zu der kompletten Frage habe ich (mit Beispielen) das angehängte PDF erstellt vielen Dank für Eure Hilfe Gruß Holger SQL-Abfrage.pdf -
Powershell - Ändern eines Dienste-Kontos
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hallo Jan, das klingt sehr interessant. Ich denke, da muss ich mal tiefer drüber nachdenken! Danke für den Hinweis. Das kannte ich bisher nicht!! Gruß Holger -
Powershell - Ändern eines Dienste-Kontos
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Vielen Dank, Evgenij!! Und @ Norbert: Ich bitte um eine harte und gerechte Strafe. Aber NEIN, ich habe keine Lösung gefunden (Startpage.com) Du scheinst da eine inteligentere Such-Anfrage gestartet zu haben, als ich in den letzten Stunden! -
Powershell - Ändern eines Dienste-Kontos
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
Hallo zusammen, ich suche jetzt schon seit einiger Zeit, finde aber nicht wirklich etwas hierzu. Wir haben einen bestimmten Dienst auf etlichen Servern mit einem bestimmten Domänen-Konto laufen. Da wir (Policy-bedingt) Passwörter für Service-Accounts alle 180 Tage ändern müssen, bin ich gerade dabei hierfür ein Programm zu schreiben. Leider finde ich keine Möglichkeit per PS die Passwörter für die ausführenden (Domänen)-Konten für bestimmte Dienste zu ändern. mit Get-Service kommt man da anscheinend nicht wirklich weiter... Hat da irgendjemand eine Idee/Ansatz? vielen Dank für Eure Schwarmintelligenz Gruß und ein schönes WE Holger -
PowerShell-Zugriff auf KeePass - Mitgeben des MasterPassword
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
nein, das funktioniert leider auch nicht..... Ich hatte eigentlich gedacht, das wäre ein Microsoft Modul... https://learn.microsoft.com/de-de/powershell/utility-modules/secretmanagement/overview?view=ps-modules Aber wenn man dem KeePass-Link auf dieser URL folgt, kommt man tatsächlich zu dem Projekt, dass Du da aufgezeigt hast.... b***d! Ich habe echt nicht gesehen, dass der letzte EIntrag 3 Jahre alt ist..... -
PowerShell-Zugriff auf KeePass - Mitgeben des MasterPassword
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
Hallo Forum, ich "spiele" gerade mit den PowerShell Modulen für SecretVault bzw KeePass-Zugriff herum: Microsoft.Powershell.SecretManagement, Microsoft.Powershell.SecretStore, SecretManagement.KeePass Dabei stoße ich auf das Problem, dass ich das MasterPassword für die KeePass irgendwie nicht wirklich übergeben bekomme. Egal, ob ich das PW in Klars***rift oder als SecureString übergebe...: Version1 $KeePassParameter = @{ Path = "D:\KeePass\Meine_KPDB.kdbx"; ShowFullTitle = $true; UseMasterPassword = $true; MasterPassword = "01000000d08c9ddf0115d1118c7a00c04fc297e...." } Register-SecretVault -Name KeePassVault -ModuleName SecretManagement.KeePass -VaultParameters $KeePassParameter oder Version2 $KeePassParameter = @{ Path = "D:\KeePass\Meine_KPDB.kdbx"; ShowFullTitle = $true; UseMasterPassword = $true; MasterPassword = "Test-PW" } Register-SecretVault -Name KeePassVault -ModuleName SecretManagement.KeePass -VaultParameters $KeePassParameter ...ich bekomme bei der Abfrage der SecureVault immer Get-SecretInfo -Vault KeePassVault immer eine grafische Abfrage des MasterPasswords. (siehe Screenshot) Hat jemand eine Idee, wie ich das MasterPassword korrekt übergebe, sodass ich auf die SecureVault ohne zusätzliche PW-Abfrage zugreifen kann? Vielen Dank für Eure Hilfe Gruß Holger -
Inhalt aus Excel in Combo-Box
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
hat sich erledigt! Ich habe hier versucht ein array und nicht einen einzelnen Wert zuzuweisen...... -
Hallo Forum, ich versuche den Inhalt einer Spalte eines Excel-Worksheets in einer Combo-Box auszugeben. Grundsätzlich funktioniert das auch. Zumindest sind in, "$objCombobox.items" die gewünschtenNamen gespeichert. Allerdings bekomme ich in der Combo-Box selber nur 4 x "system Object[]" angezeigt. Wo liegt mein Fehler? Hier mein Code: [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Windows.Forms") [void] [System.Reflection.Assembly]::LoadWithPartialName("System.Drawing") $Namen = @() $Zeile=1 $Page = "User" $objForm = New-Object System.Windows.Forms.Form $objForm.Text = "Combobox" $objForm.Size = New-Object System.Drawing.Size(300,200) $objForm.StartPosition = "CenterScreen" $objForm.KeyPreview = $True $OKButton = New-Object System.Windows.Forms.Button $OKButton.Location = New-Object System.Drawing.Size(75,120) $OKButton.Size = New-Object System.Drawing.Size(75,23) $OKButton.Text = "OK" $OKButton.Add_Click( { foreach ($objItem in $objCombobox.SelectedItem) {$global:x = $objItem $global:x} $objForm.Close() }) $objForm.Controls.Add($OKButton) $CancelButton = New-Object System.Windows.Forms.Button $CancelButton.Location = New-Object System.Drawing.Size(150,120) $CancelButton.Size = New-Object System.Drawing.Size(75,23) $CancelButton.Text = "Cancel" $CancelButton.Add_Click({$objForm.Close()}) $objForm.Controls.Add($CancelButton) $objLabel = New-Object System.Windows.Forms.Label $objLabel.Location = New-Object System.Drawing.Size(10,20) $objLabel.Size = New-Object System.Drawing.Size(280,20) $objLabel.Text = "Treffen Sie bitte eine Auswahl:" $objForm.Controls.Add($objLabel) $objCombobox = New-Object System.Windows.Forms.Combobox $objCombobox.Location = New-Object System.Drawing.Size(10,40) $objCombobox.Size = New-Object System.Drawing.Size(260,20) $objCombobox.Height = 70 $objexcel=New-Object -ComObject Excel.Application $workbook=$objexcel.WorkBooks.Open('C:\temp\Users.xlsx') $worksheet=$workbook.WorkSheets.item($Page) $objexcel.Visible= $false do { $Namen = @($worksheet.Cells.Item($Zeile,1).Text) write-host Name = $Namen [void] $objCombobox.Items.Add($Namen) $Zeile++ } while($worksheet.Cells.Item($Zeile,1).Text.Length -gt 0) $objexcel.quit() $objForm.Controls.Add($objCombobox) $objForm.Topmost = $True $objForm.Add_Shown({$objForm.Activate()}) [void] $objForm.ShowDialog() Die Excel-Tabelle sieht so aus: und die Combo-Box selber sieht so aus: vielen Dank für Eure Hilfe Holger
-
Powershell - auslesen des aktuellen Pfades
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
THIS did the trick Vielen Dank!! -
Powershell - auslesen des aktuellen Pfades
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hallo Nobby, danke für die Antwort. Naja, die Firmen-Policies lassen es einfach nicht zu, exe-Dateien selber zu kompilieren Der UNC-Pfad sollte tatsächlich bei allen Benutzern gleich sein. Dann müsste ich den "Installationspfad" aber manuell in das Skript schreiben ala: \\Server\Freigabe\Skripte Das würde mit Sicherheit auch funktionieren. Ich würde das Ganze aber gerne eleganter lösen. Z.B. für den Fall, dass das Verzeichnis "Skripte" einmal an einen anderen Ort verschoben werden sollte Mein Skript sieht in etwa so aus: function Uhr() { $Date = Get-Date $Time= $Date.toString()("yyyy-MM-dd_HH.mm.ss") $Datum= $Time.toString("yyyy-MM-dd") } $InstallPath = $PWD.ToString() Uhr $LogDateiName = "$InstallPath\Logs\$Satum\MeinSkriptname_" + $Time +".log" . . . write-output "Diese Zeile soll in die Log-Datei eingetragen werden" | Tee-Object -FilePath $LogDateiName -append Danke und Gruß Holger Hallo BOfH_666, auch Dir "danke" für Deine Antwort. Ich möchte es eigentlich vermeidenzu allen Kollegen zu latschen und einen Link auf die ps.1-Datei zu erstellen. Ausserdem bin ich mir nicht ganz sicher, ob der Link das Problem lösen würde. Es würde dann doch der Pfad des lokalen Rechners ausgelesen - also würden die Log-Dateien wieder nicht alle im gleichen Verzeichnis (Netzlaufwerk) landen..... Dass die Datei mit der PowerShell.exe ausgeführt werden sollte ist mir schon klar. Aber es wird (glaube ich) halt standardmäßig die 64bit Version ausgeführt, die gegen die Pumpe läuft, wenn man versucht damit eine LotusNotes-Anwendung auszulesen.... Und alles andere als rechter Mausklick / Ausführen mit kann ich meinen Kollegen nicht zumuten -
Powershell - auslesen des aktuellen Pfades
newbi2009 hat einem Thema erstellt in: Windows Forum — Scripting
Hallo Forum, ich habe ein kleines Problem und hoffe, es gibt eine einfache Lösung hierzu: Ich habe ein Powershell-Skript geschrieben, welches ich auf einem Netzlaufwerk (nennen wir es Z:\Skripte\meinSkript.ps1) abgelegt habe. Dieses Skript schreibt Log-Dateien, die im gleichen Verzeichnis erzeugt werden sollen (Z:\Skripte\Logs) Ausserdem soll dieses Skript von allen meinen Kollegen benutzt werden können, die sich das Netzlaufwerk aber nicht alle mit "Z:\" gemappt haben. Um die Log-Datein also an dem gewünschten Ort abzulegen, muss ich den Netzwerkpfad der ps1-Datei auslesen. Jetzt gibt es ein paar Probleme: - Windows öffnet ps.1-Dateien standardmäßig mit einem Text-Editor (Doppelklick auf die Datei führt diese nicht aus) - Ich kann/darf aus der ps.1 keine exe kompilieren, die per Doppelklick ausgeführt werden könnte - mein Script MUSS in einer 32 Bit Variante von PowerShell ausgeführt werden (weil ich Lotus Notes abfrage) - Das heisst, "rechter Mausklick/öffnen mit Powershell" lässt das Skript abbrechen, weil Powershell standardmäßig in einer 64 bit Version startet Ich muss das Skript also in einer "Powershell ISE" öffnen (vor Allem meine nicht PowerShell-affinen Kollegen). Hier steht der Fokus natürlich auf C:\Windows\System32 Lese ich jetzt den Pfad mit "get-location" oder "PWD" aus, bekomme ich natürlich "C:\Windows\System32" geliefert. Dies kann ich dann natürlich nicht verwenden, um den Pfad für eine Log-Datei in dem Netzlaufwerk zu generieren. Ich kann den Kollegen auch nicht sagen, dass sie sich das Programmverzeichnis alle auf den eigenen Rechner kopieren sollen und die erzeugten Logs dann manuell auf dem Netzlaufwerk ablegen sollen. Wie bekomme ich also in der "Power Shell ISE" den Pfad in eine Variable, in der die ps1-Datei liegt? Vielen Dank für einen Tipp Gruß Holger -
VIELEN DANK!!
-
Hallo Forum, ich kämpfe gerade mit einem Problem, das ich nicht verstehe. Vielleicht kann mich ja jemand von Euch erleuchten? Ich versuche Punkte aus einer Variable (in der eine Faxnummer gespeichert ist) zu ersetzen ich habe in einer globalen Variable eine Faxnummer mit Leerzeichen und 3 Punkten dahinter gespeichert: $global:Fax = "2261 4405 ..." jetzt versuche ich das Leerzeichen und die darauf folgenden 3 Punkte zu entfernen: if ($global:Fax -like ("* ...")) { $global:Fax_neu = $global:Fax -replace (" ...","") } Der Inhalt von $global:Fax_neu ist jetzt erstaunlicherweise: 22615 Warum? Und wie bekomme ich es hin, dass $global:Fax_neu = 2261 4405 ist? vielen Dank für Eure Hilfe Gruß Holger
-
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
....was mich dann wieder zu meiner ursprünglichen Frage führt: MUSS ich den Umweg gehen, den Inhalt der Variable zuerst in eine Datei zu speichern, nur um diese danach wieder einzulesen? Das muss doch auch ohne gehen.... Aber wie? -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
damit ich jeden einzelnen Wert ansprechen und später in den LDAP-Server einfügen kann ...das ist ein Excl-Datei "saved as CSV" -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
...also dann doch so, wie ich es ganz am Anfang versucht habe => mir selber eine neue CSV-Datei aus verschiedenen Bestandteilen "zusammenstricken" und diese dann abspeichern und neu laden. -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Zu ladene CSV_Datei Ohne " als erstes Zeichen: Zeile 01 Zeile 02 Zeile 03 Zeile 04 Zeile 05 Schmitz;Harald;Schmitz@zuHause.de;123456; ;Heiner;;234567; Müller;;Mueller@zuHause.de;; Maier;Susanne;;456789 ;;;;;;;;;;;;;; PS C:> $abc = @(import-csv -path C:\temp\Test.csv -Header "Nachname","Vorname","Email","PersonalNummer" -Delimiter ";"| Select-Object -skip 5) PS C:> $abc Nachname Vorname Email PersonalNummer -------- ------- ----- -------------- Schmitz Harald Schmitz@zuHause.de 123456 Heiner 234567 Müller Mueller@zuHause.de Maier Susanne 456789 PS C:> $abc[1] Nachname Vorname Email PersonalNummer -------- ------- ----- -------------- Heiner 234567 PS C:> $abc[1].Vorname Heiner PS C:> Bei einer zu ladene CSV_Datei MIT " als erstes Zeichen einer beliebigen der ersten 5 Zeilen, füllt sich die Variable $abc nicht mehr: Zeile 01 "Zeile 02 Zeile 03 Zeile 04 Zeile 05 Schmitz;Harald;Schmitz@zuHause.de;123456; ;Heiner;;234567; Müller;;Mueller@zuHause.de;; Maier;Susanne;;456789 ;;;;;;;;;;;;;; PS C:> $abc = @(import-csv -path C:\temp\Test.csv -Header "Nachname","Vorname","Email","PersonalNummer" -Delimiter ";"| Select-Object -skip 5) PS C:> $abc PS C:> $abc[1] PS C:> $abc[1].Vorname PS C:> -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hallo zusammen, ich habe es jetzt mit dieser Zeile hinbekommen $abc = @(import-csv -path C:\temp\Test.csv -Header 'Nachname;Vorname;Email;PersonalNummer' | Select-Object -skip 5) $abc = @(import-csv -path C:\temp\Test.csv -Header "Nachname","Vorname","Email","PersonalNummer" -delimiter ";" | Select-Object -skip 5) vielen Dank für Eure Hilfe. Allerdings habe ich noch ein Phänomen, bei dem ich bitte nochmal Eure Hilfe bräuchte: Sobald das ERSTE ZEICHEN einer Zeile in der csv-Datei, die eingelesen wird, ein Anführungszeichen " ist, funktioniert das Ganze nicht mehr?! Wie kann ich das denn "reparieren" (ich habe leider in meiner einzulesenden CSV in 2 Zeilen jeweils ein " als erstes Zeichen stehen) Danke nochmal Holger sorry, ich wollte die Code-Zeile nicht doppelt posten.... -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
...grundsätzlich ne gute Idee, hätte ich auch selber drauf kommen können Aber so richtig funktionieren tut das auch nicht $abc = @(import-csv -path C:\temp\Test.csv -Header 'Nachname;Vorname;Email;PersonalNummer' | Select-Object -skip 5) ein $abc bringt dann auch das gewünschte Ergebnis: Nachname;Vorname;Email;PersonalNummer ------------------------------------- Schmitz;Harald;Schmitz@zuHause.de;123456; ;Heiner;;234567; Müller;;Mueller@zuHause.de;; Maier;Susanne;;456789 ;;;;;;;;;;;;;; Müller;;Mueller@zuHause.de;; auch ein $abc[2] bringt das gewünschte Ergebnis Nachname;Vorname;Email;PersonalNummer ------------------------------------- Müller;;Mueller@zuHause.de;; allerdings liefert ein $abc[2].Email kein Ergebnis ?! Was mache ich denn hier falsch? -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hi Nils, ja, ich könnte auch die Excel-Datei bekommen. Das ist kein Problem. Was ich damit weiter vorhabe ist nicht ganz einfach zu erklären und da werde ich wohl auch noch lange dran sitzen, bis ich das hinbekomme. Im Endeffekt muss ich die Daten, die in der Excel geliefert werden herausfiltern und damit existierende Benutzer-Daten auf einem Oracle-LDAP-Server updaten. Sprich: Benutzer x soll ein bestimmtes Flag auf dem LDAP Server gesetzt bekommen. Das mache ich bisher alles "zu Fuß". Es kommt aber vor, dass Excel-Tabellen mit 60 oder mehr Benutzern reinkommen, bei denen manuell unterschiedliche Flags gesetzt werden müssen, oder diese in unterschiedlioche Gruppen aufgenommen werden müssen..... Das möchte ich so weit automatisieren, wie es mir möglich ist.... Lange Rede, kurzer Sinn: Es wäre mir tatsächlich schon mega geholfen, wenn Ihr mir bei meinem ursprünglichen Problem helfen könntet.... Es werden bestimmt beim Entwickeln noch genug andere Probleme auftauchen, die ich ich jetzt noch nicht absehen kann Danke und Gruß Holger -
powershell Variable in Array
newbi2009 antwortete auf ein Thema von newbi2009 in: Windows Forum — Scripting
Hi Nils, Ich habe immer wieder Excel-Dateien, die den gleichen Aufbau haben. Nur eben unterschiedlich mit Namen, Mail-Adresse, etc... befüllt. Diese werden mir als csv-Datei abgespeichert zur Verfügung gestellt. Hier sind halt die ersten paar Zeilen immer Datenmüll. Ich möchte die Zeilen, die die Benutzer-Informationen (in der csv immer ab Zeile 6) also weiterverarbeiten. Dazu möchte ich diese in einem mehrdimensionalen Array haben, damit ich ich für jeden Benutzer die einzelnen Daten explizit ansprechen kann (z.b. Mailadresse von Benutzer aus Zeile 7 => $ergebnis[2].Email) Quasi genau so, wie ich es habe, wenn ich den Zwischenschritt mit der zweiten csv Datei, die ich abspecihere und wieder einlese, habe. Halt nur, ohne den Umweg eine neue Datei abzulegen und wieder einzulesen.... Danke und Gruß Holger Hallo BOfH_666, danke für Deine Antwort. Das ImportExcel-Modul schaue ich mir einmal genauer an. Dankefür den Tipp! Allerdings bringt mir das cmdlet Import-Csv nicht so viel. Ich habe ja eine Variable ($xyz) in die ich meinen selbstgebauten Header und die nötigen "Daten-Zeilen" aus der ursprünglichen csv Datei gelegt habe....... Ich bekomme es aber nicht hin, diese Variable als Array zu benutzen. Ich muss zuerst den Inhalt der Variable in eine Datei abspecihern und DANN mit import-csv diese neue Datei wieder einlesen (der Inhalt der abgespeciherten csv Datei ist ja genauso, wie ich es brauche..... nur bekomme ich diesen halt nicht in ein Array) Danke und Gruß Holger