Mit einer FOR Schleife eine Datei Zeilenweise auslesen und weiterverarbeiten mit dsquery und dsget
Ich habe eine Liste mit Benutzernamen.
In jeder Zeile steht eine Benutzer-ID
Ich möchte mit einer FOR-Schleife diese Datei auslesen und für jeden Eintrag eine AD-Abfrage mit dsquery und dsget machen.
Leider klappt das aber nicht.
Ich habe das ganze auch schon mit der Powershell probiert, da allerdings erhalte ich auch einen Fehler!
Hier tauch folgender Fehler auf:
dsquery.exe : Fehler bei dsquery:"DC=xxx" ist ein unbekannter Parameter.
(DC=xxx ist nur ein Platzhalter)
Wenn ich den Befehl einzeln in der Powershell starte funktioniert er, nur nicht in der Schleife!
Kann mir dabei jemand helfen?
Mir stehen "nur" die Bordmittel (cmd und powershell) und evtl. noch die open source UNIX Tools zur verfügung.
Es ist leider keine Option weitere Software zu installieren.
Danke im voraus
In jeder Zeile steht eine Benutzer-ID
Ich möchte mit einer FOR-Schleife diese Datei auslesen und für jeden Eintrag eine AD-Abfrage mit dsquery und dsget machen.
for %%i in (datei.txt) do (
dsquery user -name %%i|dsget user -dn -samid -sid -upn >> ausgabedatei.txt
)
exit
Leider klappt das aber nicht.
Ich habe das ganze auch schon mit der Powershell probiert, da allerdings erhalte ich auch einen Fehler!
$a = Get-Content .\datei.txt
foreach ($b in $a){
(dsget user (dsquery user -name $b DC=eu1,DC=xxx,DC=com -dn -samid -sid -upn)) >> ausgabe1.txt
(dsget user (dsquery user -name $b DC=na1,DC=xxx,DC=com -dn -samid -sid -upn)) >> ausgabe1.txt
(dsget user (dsquery user -name $b DC=na2,DC=xxx,DC=com -dn -samid -sid -upn)) >> ausgabe1.txt
dsquery.exe : Fehler bei dsquery:"DC=xxx" ist ein unbekannter Parameter.
(DC=xxx ist nur ein Platzhalter)
Wenn ich den Befehl einzeln in der Powershell starte funktioniert er, nur nicht in der Schleife!
Kann mir dabei jemand helfen?
Mir stehen "nur" die Bordmittel (cmd und powershell) und evtl. noch die open source UNIX Tools zur verfügung.
Es ist leider keine Option weitere Software zu installieren.
Danke im voraus
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 197431
Url: https://administrator.de/contentid/197431
Ausgedruckt am: 05.11.2024 um 12:11 Uhr
15 Kommentare
Neuester Kommentar
Servus rkujadt,
du schreibst:
Kannst du etwas genauer beschreiben, was passiert ? Hellsehen ist nicht so unser Ding
Ich bin auch bastlas Meinung, dass eigentlich nur ein for /f funktioniert.
Und noch eine Frage: deine datei.txt" sieht so aus:
Auf was für einem Betriebssystem bist du denn unterwegs ?
Gruß
Andi
du schreibst:
Kannst du etwas genauer beschreiben, was passiert ? Hellsehen ist nicht so unser Ding
Ich bin auch bastlas Meinung, dass eigentlich nur ein for /f funktioniert.
Und noch eine Frage: deine datei.txt" sieht so aus:
username1
username2
username3
Auf was für einem Betriebssystem bist du denn unterwegs ?
Gruß
Andi
Moin rkujadt,
maskiere mal das Pipe-Zeichen ( "|") mit einem Caret (="^"), wenn es sich innerhalb der FOR-Anweisungsklammern befindet.
Also ändere den Ursprungsschnipsel (aus der Frage oben) zum Test in:
Falls du auch die Umleitung innerhalb der FOR-Anweisungsklammern machen willst, dann solltest du auch statt ">>ausgabedatei.txt" besser "^>^>ausgabedatei.txt" schreiben.
Grüße
Biber
maskiere mal das Pipe-Zeichen ( "|") mit einem Caret (="^"), wenn es sich innerhalb der FOR-Anweisungsklammern befindet.
Also ändere den Ursprungsschnipsel (aus der Frage oben) zum Test in:
for %%i in (datei.txt) do (
dsquery user -name %%i^|dsget user -dn -samid -sid -upn
)
exit
Falls du auch die Umleitung innerhalb der FOR-Anweisungsklammern machen willst, dann solltest du auch statt ">>ausgabedatei.txt" besser "^>^>ausgabedatei.txt" schreiben.
Grüße
Biber
Hi rkujadt,
ich kann dein Verhalten, dass absolut nichts passiert bei mir reproduzieren, wenn ich eine leere Datei "datei.txt" erzeuge und damit die for-Schleife durchlaufen lasse.
Komisch ist das aber schon, da du ja sagst, in der Datei "datei.txt" ist was drin.
Probier doch mal, den vollständigen Pfad der Datei "datei.txt" anzugeben
Gruß
Andi
ich kann dein Verhalten, dass absolut nichts passiert bei mir reproduzieren, wenn ich eine leere Datei "datei.txt" erzeuge und damit die for-Schleife durchlaufen lasse.
Komisch ist das aber schon, da du ja sagst, in der Datei "datei.txt" ist was drin.
Probier doch mal, den vollständigen Pfad der Datei "datei.txt" anzugeben
Gruß
Andi