MercedesCR7 1 Geschrieben 9. Mai 2018 Melden Geschrieben 9. Mai 2018 Einen schönen Tag euch zusammen, ich habe eine ganz simple Frage, wie bekomme ich es hin das beim AD-Export die Daten ohne Anführungszeichen " markiert werden? Weil die Datenbank die wir haben damit nicht klar kommt. Eigentlich müsste es doch damit funktionieren | % { $_ -replace '"', ""} | leider aber nicht, was mach ich falsch? Hier mein Code: $OU_Liste= 'OU=Admin-User,OU=User,OU=SAFE,DC=domain,DC=SEC,DC=de', 'OU=International,OU=User,OU=SAFE,DC=domain,DC=SEC,DC=de', $AllList = Foreach($OU in $OU_Liste){ Get-ADUser -Filter 'objectClass -eq "user"' -Properties * -SearchBase $OU | Sort-Object surname | Select-Object -Property @{Name='personalnummer';Expression={$_.EmployeeID}},@{Name='name';Expression={$_.Name}},@{Name='vorname';Expression={$_.givenName}},@{Name='titel';Expression={$_.extensionAttribute2}} }$AllList | Export-Csv \\Security\Daten\IT\mitarbeiter.csv -NoTypeInformation -Encoding UTF8 -Delimiter ';'| % { $_ -replace '"', ""} Vielen Dank schonmal für eure Hilfe.
BOfH_666 586 Geschrieben 9. Mai 2018 Melden Geschrieben 9. Mai 2018 Die Anführungszeichen sind im Standard für CSV quasi als Text-Erkenner festgelegt. Jedes Produkt, welches standard-konformes CSV verarbeiten kann, sollte damit umgehen können ... so wie die Powershell das macht. Dein Code kann so nicht funktionieren, weil Du die Anführungszeichen entfernen möchtest, obwohl die Datei schon geschrieben ist. Wenn es wirklich nicht anders geht, müsstest Du vielleicht die Daten mit Convertto-CSV ins CSV-Format umwandeln und vorm "wegschreiben" mit Out-File, die Gänsefüßchen entfernen. Ich würde mich aber eher mal mit dem "Lieferanten" eurer Datenbank unterhalten, warum kein standard-konformes CSV verarbeitet werden kann. Dieses "Gefrickel" macht Skripte nicht gerade robuster. 1
MercedesCR7 1 Geschrieben 9. Mai 2018 Autor Melden Geschrieben 9. Mai 2018 @BOfH_666 Könntest du es mir mal bitte mal zeigen wie ich das mache? Meinst du mitarbeiter.csv in mitarbeiter.txt umschreiben und dahinter |Convertto-CSV Und da hinter nochmal OutPutfile als befehl? Verstehe den Sinn nicht ganz, wäre sehr sehr nett, wenn du es mach demonstrieren könntest als beispiel.
Dukel 468 Geschrieben 9. Mai 2018 Melden Geschrieben 9. Mai 2018 $AllList | ConvertTo-Csv ... | % { $_ -replace '"', ""} | Export-Csv ...
MercedesCR7 1 Geschrieben 9. Mai 2018 Autor Melden Geschrieben 9. Mai 2018 Ach so, wenn ich den exportierte Datei nochmal in Excel als CSV abspeichere, dann sind die Anführungsstriche weg und die Datei ist somit korrekt. Also hat es mit dem Exportieren zu tun, also Convertto-CSV muss ich mit in den Script nehmen.
BOfH_666 586 Geschrieben 9. Mai 2018 Melden Geschrieben 9. Mai 2018 Als Beispiel: (Get-Process -Name e* | ConvertTo-Csv -NoTypeInformation) -replace '"','' | Out-File -FilePath BlaKeks.csv -Encoding utf8
MercedesCR7 1 Geschrieben 9. Mai 2018 Autor Melden Geschrieben 9. Mai 2018 Danke euch, vorallem dir BOfH_666, ich werde es mal ausprobieren und melde mich wieder. Euch noch einen schönen Feiertag morgen.
Empfohlene Beiträge
Erstelle ein Benutzerkonto oder melde dich an, um zu kommentieren
Du musst ein Benutzerkonto haben, um einen Kommentar verfassen zu können
Benutzerkonto erstellen
Neues Benutzerkonto für unsere Community erstellen. Es ist einfach!
Neues Benutzerkonto erstellenAnmelden
Du hast bereits ein Benutzerkonto? Melde dich hier an.
Jetzt anmelden