Domain User mit Batch Datei in .txt exportieren
Hallo,
ich habe einen Auftrag erhalten und bin leider ein Neuling auf dem Gebiet, aus diesem Grund benötige ich bitte eure Hilfe.
Also ich soll aus der Kommandozeile
eine Batchdatei bauen.
Der Kommandobefehl oben speichert alle Mitglieder der Domäne Benutzer in die Datei Test.txt. Das ist für mich noch leicht verständlich.
Die gleichen Mitglieder sollen per Batch Befehle ebenfalls in eine TXT gespeichert werden und sollen zusätzlich in eine Spalte gebracht werden und alphabetisch sortiert werden.
Welche Lösungsmöglichkeiten gibt es dafür?
Geht sowas überhaupt in einem Textdokument oder ist das eine Excel Besser (wenn das überhaupt geht)?
Beste Grüße
CORBIENE =)
ich habe einen Auftrag erhalten und bin leider ein Neuling auf dem Gebiet, aus diesem Grund benötige ich bitte eure Hilfe.
Also ich soll aus der Kommandozeile
C:\Users\(Mein Benutzername)\net Group "Domänen-Benutzer" /Domain >Test.txt
eine Batchdatei bauen.
Der Kommandobefehl oben speichert alle Mitglieder der Domäne Benutzer in die Datei Test.txt. Das ist für mich noch leicht verständlich.
Die gleichen Mitglieder sollen per Batch Befehle ebenfalls in eine TXT gespeichert werden und sollen zusätzlich in eine Spalte gebracht werden und alphabetisch sortiert werden.
Welche Lösungsmöglichkeiten gibt es dafür?
Geht sowas überhaupt in einem Textdokument oder ist das eine Excel Besser (wenn das überhaupt geht)?
Beste Grüße
CORBIENE =)
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 287379
Url: https://administrator.de/contentid/287379
Ausgedruckt am: 22.11.2024 um 12:11 Uhr
24 Kommentare
Neuester Kommentar
Powershell mit instalierten RSAT-Tools oder direkt auf einem Server
Findet sich hier aber zu Hauf in anderen Threads ... Einfach mal die Suchfunktion anwerfen!
Gruß grexit
Import-Module ActiveDirectory
Get-ADGroupMember "Domain Users" -Recursive | sort SamAccountName | select SamAccountName | export-csv 'C:\users.csv' -NoType -Delimiter ';' -Encoding UTF8
Gruß grexit
Dann sag deinem "Betreuer" mal das man das heutzutage anders macht .
dsquery group -samid "Domain Users" | dsget group -members -expand | sort >C:\Benutzer.txt
Einfach mal lesen:
https://technet.microsoft.com/de-de/library/cc732952%28v=ws.10%29.aspx
https://technet.microsoft.com/de-de/library/cc732952%28v=ws.10%29.aspx
"Domänen-Benutzer"
Name AD-Intern "Domain Users" ...
Also normalerweise sollte das Funktionieren, wenn euer Domänencontroller auf deutsch installiert ist:
Öffne mal eine CMD, dann gib folgendes ein:
Wenn du hier die Gruppenmitglieder angezeigt bekommst, hast du vermutlich ein Problem mit dem "Ä" von Domänen-Benutzer (in deiner Batchdatei).
Kannst das dann auch direkt über die CMD umleiten in eine Datei:
Öffne mal eine CMD, dann gib folgendes ein:
NET GROUP "Domänen-Benutzer" /DOMAIN
Wenn du hier die Gruppenmitglieder angezeigt bekommst, hast du vermutlich ein Problem mit dem "Ä" von Domänen-Benutzer (in deiner Batchdatei).
Kannst das dann auch direkt über die CMD umleiten in eine Datei:
NET GROUP "Domänen-Benutzer" /DOMAIN > C:\user.txt
Probiere mal
da sehe ich keine Sortieroptionen.
Wenn's einmalig sein soll, einfach mit einem Editor machen, z.B. "ersetze zwei Leerzeichen mit Zeilenumbruch", danach "ersetze Leerzeichen mit nichts". Oder einen der o.g. Befehle benutzen, insb. bei Powershell hast du etliche Ausgabemöglichkeiten.
NET HELP GROUP
da sehe ich keine Sortieroptionen.
Wenn's einmalig sein soll, einfach mit einem Editor machen, z.B. "ersetze zwei Leerzeichen mit Zeilenumbruch", danach "ersetze Leerzeichen mit nichts". Oder einen der o.g. Befehle benutzen, insb. bei Powershell hast du etliche Ausgabemöglichkeiten.
Moin,
Batch ginge so:
Und Kombination Powershell in einer Batch
Gruß jodel32
Batch ginge so:
@echo off & setlocal ENABLEDELAYEDEXPANSION
chcp 1252
for /f "tokens=1 delims=:" %%a in ('net group "Domänen Benutzer" /domain ^| findstr /rn "^"') DO set /a numrows=%%a-8
set /a cnt=0
>"C:\user.txt" (for /f "skip=6 tokens=1-3" %%a in ('net group "Domain Users" /domain') do @(
if !cnt! LSS %numrows% (
if "%%a" NEQ "" echo %%a
if "%%b" NEQ "" echo %%b
if "%%c" NEQ "" echo %%c
)
set /a cnt+=1
))
Und Kombination Powershell in einer Batch
@echo off
chcp 1252
powershell -ExecutionPolicy ByPass -Command "(net group 'Domänen Benutzer' /domain | select -skip 6 | select -Skip 2 -Last 2000) -split '\s{2,}' | ?{$_.trim() -ne ''} | sort" >"C:\user.txt"
Zitat von @corbiene:
Naja die Batch von dir Jodel führt leider nur zu einer leeren .txt nach dem ausführen.
Geht beides hier einwandfrei, du machst anscheinend leider immer etwas falsch ...Naja die Batch von dir Jodel führt leider nur zu einer leeren .txt nach dem ausführen.
Wir haben dir nun etliche Optionen gepostet die alle funktionieren, also liegt es leider bei dir, sorry!
Sicher. Ob *.bat oder *.cmd ist egal geht beides.
Deine Gruppe hieß doch "Domänen Benutzer" ... und du benutzt "Domain User" ??
Und wichtig wechsele die Codepage auf ANSI denn sonst geht dir das ä von "Domänen" flöten (siehe angepassten Code oben)
chcp 1252