CMD TYPE wandelt leider Umlaute und Sonderzeichen um
Guten Tag miteinander (Biber auch da?)
Bin am Verzweifeln. :'( :'(
Übersicht:
Ich versuche mit dem DN (distinguished Name) die SAMID zu erhalten (dsquery, dsget usw.).
Nun werden aber mit type der Textdatei die korrekten Sonderzeichen im DN (Umlaute, é usw.) mit anderen Sonderzeichen ersetzt.
Dies in einer cmd und auf der Command-Line.
Umgebung: Server 2008 R2 o.ä.
Details:
Die Textdatei sieht z.B. so aus (korrekt vorher geschrieben mit dsget.exe group %%G -members -expand):
Dann der Script:
oder auch nur so:
Resultat von echo %%U im cmd, rsp. type:
Resultat von type Temp\SERVER_ts_ou_all_groupmembers_ne.txt auf Command-Line:
dann (nur zur Erklärung):
Logisch!
Ziel:
Mit type oder selbstverständlich anderen Ansätzen sollen die Sonderzeichen nicht umgewandelt werden.
Ersetzen der Zeichen ist keine Lösung. Im AD können mittlerweile fast die gesamten 256 ANSI Zeichen eingegeben werden...
Habe m.E. wirklich alles versucht:
- Alternative für type (nichts gefunden)
- mit chcp die Codepage geändert, z.B. chcp 1252 oder andere, was nichts ändert (default Codepage ist hier überall 850)
- echo.exe (aus den GNU shellutils 1.9.4) echoed einfach andere Sonderzeichen. Aber das Problem ist ja type.
Vielen Dank im voraus.
Grüsse
Haru
Bin am Verzweifeln. :'( :'(
Übersicht:
Ich versuche mit dem DN (distinguished Name) die SAMID zu erhalten (dsquery, dsget usw.).
Nun werden aber mit type der Textdatei die korrekten Sonderzeichen im DN (Umlaute, é usw.) mit anderen Sonderzeichen ersetzt.
Dies in einer cmd und auf der Command-Line.
Umgebung: Server 2008 R2 o.ä.
Details:
Die Textdatei sieht z.B. so aus (korrekt vorher geschrieben mit dsget.exe group %%G -members -expand):
"CN=Hans Muster,OU=Benutzer,OU=Musterou,DC=domainxxx,DC=local""CN=Désirée Wunderschön,OU=Benutzer,OU=Musterou,DC=domainxxx,DC=local"
Dann der Script:
for /f "delims=" %%U in ('type Temp\!_SERVER!_ts_ou_all_groupmembers_ne.txt') do ( echo Prozent U ist: %%U)
oder auch nur so:
for /f "delims=" %%U in (Temp\!_SERVER!_ts_ou_all_groupmembers_ne.txt) do ( echo Prozent U ist: %%U)
Resultat von echo %%U im cmd, rsp. type:
"CN=DÚsirÚe Wundersch÷n,OU=Benutzer,OU=Baderpartner,DC=baderpartner,DC=local"
Resultat von type Temp\SERVER_ts_ou_all_groupmembers_ne.txt auf Command-Line:
"CN=DÚsirÚe Wundersch÷n,OU=Benutzer,OU=Baderpartner,DC=baderpartner,DC=local"
dann (nur zur Erklärung):
for /f "tokens=*" %%S in ('dsget.exe user %%U -samid ^| findstr /i /v "samid" ^| findstr /i /v "dsget succeeded"') do (...dsget failed:Directory object not found.
Logisch!
Ziel:
Mit type oder selbstverständlich anderen Ansätzen sollen die Sonderzeichen nicht umgewandelt werden.
Ersetzen der Zeichen ist keine Lösung. Im AD können mittlerweile fast die gesamten 256 ANSI Zeichen eingegeben werden...
Habe m.E. wirklich alles versucht:
- Alternative für type (nichts gefunden)
- mit chcp die Codepage geändert, z.B. chcp 1252 oder andere, was nichts ändert (default Codepage ist hier überall 850)
- echo.exe (aus den GNU shellutils 1.9.4) echoed einfach andere Sonderzeichen. Aber das Problem ist ja type.
Vielen Dank im voraus.
Grüsse
Haru
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 252262
Url: https://administrator.de/forum/cmd-type-wandelt-leider-umlaute-und-sonderzeichen-um-252262.html
Ausgedruckt am: 06.04.2025 um 03:04 Uhr
3 Kommentare
Neuester Kommentar

Hallo Haru,
das lässt sich auch mit Powershell abkürzen:
Wer ärgert sich den heute noch mit Batch auf einem Windows Server rum 
Gruß jodel32
das lässt sich auch mit Powershell abkürzen:
Import-Module ActiveDirectory
Get-ADGroupMember "NamedeinerGruppe" | select SAMAccountname
Gruß jodel32
mit chcp die Codepage geändert, z.B. chcp 1252 oder andere, was nichts ändert (default Codepage ist hier überall 850)
p.s. hier läuft das einwandfrei wenn ich die Codepage vorher auf 1252 schalte ... vielleicht ist das Zeichenformat deiner Quelldatei nicht ANSI