Jump to content
Sign in to follow this  
MercedesCR7

Anführungszeichen im CSV-Export unerwünscht

Recommended Posts

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.

 

Share this post


Link to post
Share on other sites

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.

  • Like 1

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

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.

Share this post


Link to post
Share on other sites

Als Beispiel:

(Get-Process -Name e* |
    ConvertTo-Csv -NoTypeInformation) -replace '"','' |
        Out-File -FilePath BlaKeks.csv -Encoding utf8

 

Share this post


Link to post
Share on other sites
Der letzte Beitrag zu diesem Thema ist mehr als 180 Tage alt. Bitte überlege Dir, ob es nicht sinnvoller ist ein neues Thema zu erstellen.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

Werbepartner:



×
×
  • Create New...