janbro

Net User in Datei Schreiben Teil 2

geschlossengelöstFrageBatch, Shell Entwicklung
Hallo Forum,
ich habe ein ähnliches Problem, wie in Permanent-ID: 010761a7240856f06781c20e217ea3d3 beschrieben.
Es ging/ geht hier bei darum über net user die Benutzer in eine Datei zu pipen.

Daher habe ich mir natürlich als Vorlage genommen.
Nur möchte ich nicht die lokalen Benutzer aufgelistet bekommen, sondern alle in meiner Domaine. Daher habe ich den von Biber beschrieben Code modifiziert, zu:

::----snipp ListNetUser.bat ----
chcp 1252

@echo off
cls
echo "please be patient ..."
for /f "skip=4 tokens=1-3" %%i in ('net user /domain^>./user.txt^|find /v "erfolgreich"') do (
echo %%i
If [%%j] NEQ echo %%j
If [%%k] NEQ echo %%k
)
exit

nur das die Ausgabe jetzt wieder 3-spaltig erscheint (Notepad / Word), was ungünstig wäre, da ich die Werte nachher mit VB weiterverarbeiten möchte. Es ist bestimmt nur eine Kleinigkeit, aber welche?

Gruß Jan
Auf Facebook teilen
Auf X (Twitter) teilen
Auf Reddit teilen
Auf Linkedin teilen

Content-ID: 89128

Url: https://administrator.de/forum/net-user-in-datei-schreiben-teil-2-89128.html

Ausgedruckt am: 19.06.2025 um 11:06 Uhr

bastla
bastla 04.06.2008 um 16:09:20 Uhr
Goto Top
Hallo JanBro!

Versuch es so:
@echo off & setlocal
set "U=D:\User.txt"  
cls
echo "please be patient ..."  
if exist "%U%" del "%U%  
for /f "skip=6 tokens=1-3" %%i in ('net user /domain^|find /v "erfolgreich"') do (  
    echo %%i
    if [%%j] NEQ  echo %%j
    if [%%k] NEQ  echo %%k
)>>"%U%"  
Nur interessehalber: Wenn Du ohnehin mit den Ergebnissen in VB weitermachen willst, warum dann zuerst ein Batch?

Grüße
bastla

[Edit] In Zeile 1 "@" auf "&" geändert. [/Edit]
JanBro
JanBro 04.06.2008 um 18:00:35 Uhr
Goto Top
Hallo bastla,

funktioniert leider nicht. Er WinXP (Sp2) listet mir die
Ergebnisse immer noch in 3 Spalten. Die user.txt habe ich mir sicherheitshalber in Notepad und unter edit.exe angesehen, beides Mal das selbe Ergebnis (ausgeführt unter cmd.com).

Zu Deiner Frage: ich bin in der IT-Revision bei einem deutschen Konzern und eine Command-Shell Ausgabe in einer Datei ist ein Beweis, den ich brauche um meine Prüfungsergebnisse zu belegen (bzw. den Weg dahin). Mit dem Batch schaffe ich mir so die Beweise, die ich dann mit Excel aufbereite und analysiere.
bastla
bastla 04.06.2008 um 18:59:27 Uhr
Goto Top
Hallo JanBro!

Es war mir zwar in die erste Zeile ein "@" anstelle von "&" hineingerutscht (inzwischen korrigiert), aber unabhängig davon sollte in der Ergebnisdatei jeweils nur ein User je Zeile stehen ...

... tut es zumindest bei mir unter XP Pro SP2.

Grüße
bastla
JanBro
JanBro 05.06.2008 um 12:54:37 Uhr
Goto Top
Super,
nach dem ich es noch einmal copy & paste bearbeitet hatte, lief es wunderbar durch.

Könntest Du mir bitte noch kurz erläutern was diese beiden Code-Schnipsel bedeuten?
skip=6 tokens=1-3"
Liege ich damit richtig: Tokens = Zeichenketten einer Zeile, aber heißt skip=6 ignorieren der ersten 6 Zeilen?

if [%%j] NEQ echo %%j
hier ??? absolut planlos

Grüße
Jan
Biber
Biber 05.06.2008, aktualisiert am 18.10.2012 um 18:35:47 Uhr
Goto Top
Moin janBro,


das kann ich auch schnell versuchen:
Könntest Du mir bitte noch kurz erläutern was diese beiden Code-Schnipsel bedeuten?
skip=6 tokens=1-3"
Liege ich damit richtig: Tokens = Zeichenketten einer Zeile, aber heißt skip=6 ignorieren der ersten 6 Zeilen?
Genau so, und zu Tokens ist nur anzumerken, dass einzelne Token definiert werden durch "Begrenzer" (neudeutsch: delimiter), die im Normalfall (neudeutsch: default) Leerzeichen und TABs sind.

if [%%j] NEQ echo %%j
Wenn Zeichenkette "[" + (Inhalt von %%i) + "]" NotEQual ""
---> Prüfung, ob in %%i überhaupt etwas steht

Grüße
Biber

P.S. Bitte Testen, ob ein "Skip=6" auch passt. Unter XP SP2 hat mir gestern ein "Skip=4" gereicht..
P.P.S. Den unbeantworteten und deshalb geschlossenen Parallelbeitrag Net user in Datei schreiben habe ich wieder aufgemacht. Falls wieder mal jemand eine der dort geposteten Lösungen braucht.