janbro
Goto Top

Net User in Datei Schreiben Teil 2

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

Content-Key: 89128

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

Printed on: April 19, 2024 at 09:04 o'clock

Member: bastla
bastla Jun 04, 2008 at 14:09:20 (UTC)
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]
Member: JanBro
JanBro Jun 04, 2008 at 16:00:35 (UTC)
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.
Member: bastla
bastla Jun 04, 2008 at 16:59:27 (UTC)
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
Member: JanBro
JanBro Jun 05, 2008 at 10:54:37 (UTC)
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
Member: Biber
Biber Jun 05, 2008, updated at Oct 18, 2012 at 16:35:47 (UTC)
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.