erikro
Goto Top

Einrückungen in Ausgabedatei vermeiden (Powershell)

Moin,

irgendwie fällt mir keine gute Google-Suche dazu ein. Aber sicher weiß das einer von Euch.

Ich "schreibe" immer mal wieder LDIF-Dateien aus als CSV gelieferten Listen. Da hätte ich das im Quellcode gerne so:

foreach($user in $arr_users) {

    Out-File $ldif -InputObject "dn: uid=$($user.uid),ou=people,dc=domain,dc=de`  
                                changetype: modify`
                                add: employeetype`
                                employeetype: $($user.employeetype)`n`n"`  
                                -Append -encoding utf8

}

Dann sieht das aber in der Ausgabe so aus:

dn: uid=user,ou=people,dc=domain,dc=de
                                changetype: modify
                                add: employeetype
                                employeetype: Whatever

Ich hätte das im Ergebnis aber gerne ohne Einrückungen. Kann man der PS irgendwie sagen, dass die Einrückungen im Quellcode nicht in die Ausgabedatei übernommen werden sollen?

Liebe Grüße

Erik

Content-Key: 391106

Url: https://administrator.de/contentid/391106

Ausgedruckt am: 28.03.2024 um 15:03 Uhr

Mitglied: 137443
Lösung 137443 30.10.2018 aktualisiert um 17:39:49 Uhr
Goto Top
foreach($user in $arr_users) {

    Out-File $ldif -InputObject ("dn: uid=$($user.uid),ou=people,dc=domain,dc=de`  
                                changetype: modify`
                                add: employeetype`
                                employeetype: $($user.employeetype)`n`n" -replace '(?m)^\s+','')`  
                                -Append -encoding utf8

}
Oder
foreach($user in $arr_users) {
    Out-File $ldif -InputObject "dn: uid=$($user.uid),ou=people,dc=domain,dc=de`nchangetype: modify`nadd: employeetype`nemployeetype: $($user.employeetype)`n`n" -Append -encoding utf8  

}
Oder einfach ein Array der Zeilen anlegen und den Field-Separator auf einen Zeilenumbruch stellen oder das ganze über einen -join und einem `n zusammenfügen.

$OFS = "`n"  
foreach($user in $arr_users) {

    Out-File $ldif -InputObject ("dn: uid=$($user.uid),ou=people,dc=domain,dc=de",`  
                                "changetype: modify",`  
                                "add: employeetype",`  
                                "employeetype: $($user.employeetype)`n`n")`  
                                -Append -encoding utf8

}
Usw.
Mitglied: erikro
erikro 01.11.2018 um 08:02:06 Uhr
Goto Top
Moin,

Zitat von @137443:

> foreach($user in $arr_users) {
> 
>     Out-File $ldif -InputObject ("dn: uid=$($user.uid),ou=people,dc=domain,dc=de`  
>                                 changetype: modify`
>                                 add: employeetype`
>                                 employeetype: $($user.employeetype)`n`n" -replace '(?m)^\s+','')`  
>                                 -Append -encoding utf8
> 
> }
> 

Das funktioniert wunderbar. Danke.

Liebe Grüße

Erik