Alle Benutzernamen auslesen

Status
Nicht offen für weitere Antworten.

The_S

Top Contributor
Gibt es in Java bzw. DOS eine Möglichkeit ALLE Benutzernamen des Computers auszulesen? Wenn jemand eine DOS-Möglichkeit kennt, wie kann ich die Namen in nem String speichern?
 

KSG9|sebastian

Top Contributor
hmm......*überleg*

Edit: Ob es möglich ist, alle benutzernamen des systems auszulesen, weiß ich net....


Also du kannst dir n java programm schreiben dann mit Runtime.getRuntime().exec nen Befehl ausführt. Wenn du den Rückgabewert nicht bekommst kannst du das ganze so machen


Code:
ipconfig > ip.txt

also mit "befehl > datei" speicherst du die ausgabe von nem befehl "befehl" in einer datei "datei". die kannst du dann wiederum mit java öffnen und die namen in nem string speichern
 

DP

Top Contributor
ich glaube das kannste knicken. was machste denn wenn sich die user nicht am lokalen rechner sondern in der domäne anmelden?!
 

The_S

Top Contributor
KSG9|plak hat gesagt.:
hmm......*überleg*

Edit: Ob es möglich ist, alle benutzernamen des systems auszulesen, weiß ich net....


Also du kannst dir n java programm schreiben dann mit Runtime.getRuntime().exec nen Befehl ausführt. Wenn du den Rückgabewert nicht bekommst kannst du das ganze so machen


Code:
ipconfig > ip.txt

also mit "befehl > datei" speicherst du die ausgabe von nem befehl "befehl" in einer datei "datei". die kannst du dann wiederum mit java öffnen und die namen in nem string speichern

Sorry, da erzählst du mir leider nix neues! Wie ich von Java aus DOS-Befehle oder sonstige Programme ausführen kann weiß ich und wenn ich Beispielsweise alles im Ordner Dokumente und Einstellungen in ne Textdatei speicher, is da noch anderer scheiß dabei, der da net nei dürf. Weiß jemand vielleicht wie ich die Benutzernamen herausfilter?
 

The_S

Top Contributor
Ja scho, wusst aber net wirklich nach was ich suchen soll! Aber das was es gefunden hat war nutzlos! :cry:
 

KSG9|sebastian

Top Contributor
also ich hätte ne lösung, was ich weiß aber nur für >= xp und ob es zusammen mit java funktioniert kann ich nicht garantieren.

also, das ganze geht über die WMI Console

start -> ausführen -> wmic

Kann sein dass es n paar Minuten dauert. Dann kannst du mit dem Befehl "useraccount" alle Konten + Infos dazu auslesen.

Funktionieren tut es am besten so:

wmic console öffnen(wmic), dann folgenden befehl eingeben

/OUTPUT:"deine_datei.txt"

Damit werden jegliche Ausgaben in die Datei "deine_datei.txt" geschrieben. Die Anführungszeichen sind nötig, sobald man Sonderzeichen verwendet. Also einfach mit hinschreiben, schaden tun sie nicht.

Dannach kannst du dann den Befehl "useraccount" ausführen, der schreibt dir dann benutzerkonten + daten der konten in die Datei.

Dann heißt es eben parsen, is aber relativ einfach, da die dinger anhang von Tabulatoren getrennt sind.

MfG

plak
 

The_S

Top Contributor
Hey Cool! Danke! Werd ich gleich mal ausprobieren

[edit] ich werds doch nicht ausprobieren! Bin auf der Arbeit und hab nur Win 2000 :autsch:
 

KSG9|sebastian

Top Contributor
Start -> Ausführen... -> wmic.exe

------


Also ich habs kurz getestet auf WinXP, hier ist der Colde:
Ach ja: Das Programm MUSS mit Adminberechtigungen ausgeführt werden, sonst haste keinen Zugriff auf die WMI-Console!!!

Code:
package info.win.usr;

public class Test{
   public static void main(String args[]){
      try{
          Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"c:\\useracc.txt\" useraccount");
      }catch(IOException io){
       e.printStackTrace();
   }

   }

}

useracc.txt hat gesagt.:
Inhalt der Datei:

AccountType Caption Description Disabled Domain FullName InstalDate . . . .meeehr :)

512 SEB\Administrator . . . . . . ...


In der Datei stehen seeeehr viele Infos drine, musst du halt splitten!
 

The_S

Top Contributor
Juhuuu! Es funktioniert!

Code:
import java.io.*;

public class zugriff {
	
	public static void main(String[] args) {
		
		try {
			Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption");
		}
		catch (Exception e) {
		}
		int i = 0;
		String[] line = new String[50];
		boolean nochNamen = true;
		try {
			FileReader name = new FileReader("D:\\Windows\\Temp\\usernames.txt");
			BufferedReader nameR = new BufferedReader(name);
			while (true) {
				line[i] = nameR.readLine();
				i++;
			}
		}
		catch (Exception e) {
		}
		for (int z = 2; nochNamen == true; z = z + 2) {
			if (line[z].equals("")) {
				nochNamen = false;
			} 
			else {
				System.out.println(line[z]);
			}
		}
	}
}

Danke, Danke, Danke! Hast du noch irgendwelche Verbesserungsvorschläge KSG9|plak?
 

KSG9|sebastian

Top Contributor
Code:
.
.
FileReader name = new FileReader("D:\\Windows\\Temp\\usernames.txt"); 
.
.

Ja, ich würd keinen absolute pfadangabe machen. wenn es nicht anders geht dann würde ich auf keinen fall ins windowsverzeichniss schreiben, sondern in irgendnen ordner auf c:\ oder sowas..

ansonsten isses ok, nice ;)


Code:
String[] line = new String[50];

Warum dass? Mach doch ne Collection und füg mit Collection#add(Object o) Elemente hinzu und benutz nen Iterator

Code:
Collection user;
.
.
for(Iterator i = user.iterator();i.hasNext())
 System.out.println(i.next());
}


Außerdem brauchste dann auch keine "Endlosschleife" mehr verwenden sondern kannst auch mit

Code:
while(nameR.readLine() != null)

die Datei durchparsen
 

The_S

Top Contributor
KSG9|plak hat gesagt.:
Code:
.
.
FileReader name = new FileReader("D:\\Windows\\Temp\\usernames.txt"); 
.
.

Ja, ich würd keinen absolute pfadangabe machen. wenn es nicht anders geht dann würde ich auf keinen fall ins windowsverzeichniss schreiben, sondern in irgendnen ordner auf c:\ oder sowas..

Die absolute Pfadangabe hab ich schon abgeändert, ausversehen aber nicht mitegpostet :D

Code:
FileReader name = new FileReader("%windir%\\Temp\\usernames.txt");

Hat ich nur zu Testzwecken drin :) ! Den Rest werde ich daheim dann verbessern und testen (scheiß Win 2000). Aber schonmal herzlichen Dank

[edit] Temp in Windows is halt praktisch, deswegen Windowsverzeichnis
 

The_S

Top Contributor
Hab jetzt noch was geändert damit er wartet bis die Textdatei erstellt ist:

Code:
    try {
			Process getUserNames = Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption");
			getUserNames.waitFor();
		}
		catch (Exception e) {
		}

Nur bleibt er dann ewig stehen! Aber es müsste doch eigentlich funktionieren oder?
 

The_S

Top Contributor
Hat sich erledigt! Ich überprüf einfach mit

Code:
File

und

Code:
exists

ob das Ding schon da ist
 

The_S

Top Contributor
Oh man! Ich dreh gleich am Rad!!! Warum zur Hölle geht das nicht?

Code:
try {
Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption");
}
catch (Exception e) {
}
File pfad = new File("%windir%\\Temp\\usernames.txt");
while (pfad.exists() == false) {
}

bzw. weiß jemand warum das hier auch nicht geht?

Code:
try { 
Process getUserNames = Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption"); 
getUserNames.waitFor(); 
} 
catch (Exception e) { 
}

Das ist meiner Ansicht nach alles richtig. Aber das Programm hängt sich immer auf!!! Bin für jede Hilfe dankbar *verzweifel*
 

The_S

Top Contributor
Die unendliche Geschichte geht weiter!

Code:
File pfad = new File("%windir%\\Temp\\usernames.txt");

Funktioniert nicht, weil %windir% nur eine Windowsvariable, aber keine Javavariable ist :meld: ! Blöder Fehler :autsch: ! Hab es jetzt umgeschrieben:

Code:
String Verzeichnis = System.getProperty("user.dir");
try { 
     Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"" + Verzeichnis + "\\usernames.txt\" useraccount get caption"); // Wird später natürlich wieder gelöscht
} 
catch (Exception e) { 
}
File pfad = new File(Verzeichnis + "\\usernames.txt");
while (pfad.exists() == false) {
     System.out.println("Noch nicht da");
}

Jetzt wartet er zwar bis die Datei erstellt ist, nicht aber bis die Daten eingefügt wurden. Weiß jemand wie ich schreibe, dass gewartet werden soll, bis alle Daten in die Datei eingefügt sind?
 

The_S

Top Contributor
ICH HASSE WINDOWS XP :!: :!: :!: :!: :!: :!: :!: :!: :!: :!: :!: :!:

Das einzige was gefehlt hat ist ein simples

Code:
start

bei

Code:
Runtime.getRuntime().exec("cmd /c start wmic ...

Und deswegen hab ich seit Tagen kein Auge zugemacht :x :? :x

...

Wo ist meine Linux-CD?
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
Zrebna Wie ermittelt man alle testbaren (zu testenden) Klassen in seinem Maven-Projekt? Allgemeine Java-Themen 23
_user_q Alle Kombinationen von "0000" bis "FFFF" kompakt schrieben Allgemeine Java-Themen 13
_user_q JavaFX Robot alle Unicode-Zeichen schreiben lassen können Allgemeine Java-Themen 12
S Bookmark HTML Datei einlesen, alle Links erhalten und manche editieren..? (aktuell JSoup) Allgemeine Java-Themen 4
Sachinbhatt Sind alle Methoden in Java implizit virtuell Allgemeine Java-Themen 2
Kingamadeus2000 Alle mehrfach vorkommenden Buchstaben rekursiv aus einem String entfernen. Allgemeine Java-Themen 6
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
8u3631984 Generelle Log4j.xml für alle Module Allgemeine Java-Themen 5
L Farbverlauf RGB alle Farben Allgemeine Java-Themen 28
W Server-Thread schreibt nicht alle Dateien Allgemeine Java-Themen 6
S Alle Dateinamen ermitteln Allgemeine Java-Themen 22
F Wie bekommt man alle Filenamen eines Webserver Verzeichnisses Allgemeine Java-Themen 6
S Kann ich eine Methode schreiben die alle Arten von funktionalen Interfaces akzeptiert..? Allgemeine Java-Themen 21
L Operatoren Java Reflections: Alle Methoden einer Klasse aufrufen ohne Exceptions Allgemeine Java-Themen 5
MaxG. Best Practice Alle Kombinationen berechnen Allgemeine Java-Themen 3
J Best Practice Objekt an alle Klassen verteilen ( Discord Bot ) Allgemeine Java-Themen 7
C BufferedReader/BufferedWriter schreibt nicht alle Bytes Allgemeine Java-Themen 2
J Alle Unit Tests in Maven Modul Projekt ausführen Allgemeine Java-Themen 7
S Anwendung die alle Abhaengigkeiten einer Library listet..? Allgemeine Java-Themen 5
T Alle Kombinationen aus zwei Arrays Allgemeine Java-Themen 8
K Nicht alle class-Dateien im JRE? Allgemeine Java-Themen 2
I Alle logs von Logger bekommen Allgemeine Java-Themen 3
U javax.mail.Folder.list() zeigt nicht alle Ordner Allgemeine Java-Themen 5
K Classpath Alle Classen aus einem Package lesen Allgemeine Java-Themen 7
L Alle möglichen Additionen (Rekursiv) Allgemeine Java-Themen 3
KaffeeFan Methoden replace alle Buchstaben Allgemeine Java-Themen 3
S Alle Methodenaufrufe eines Threads notieren..? Allgemeine Java-Themen 7
U Koordinaten alle Pixel eines Dreiecks zeichnen ausgeben Allgemeine Java-Themen 5
Z Eclipse hängt sich alle paar Sekunden auf (Keine Rückmeldung). Allgemeine Java-Themen 4
Seikuassi Alle Escape-Sequenzen in einem String ersetzen Allgemeine Java-Themen 4
F Java Spintax: Alle Kombinationen Erzeugen Allgemeine Java-Themen 2
Sogomn Klassen Alle in eine Klasse Allgemeine Java-Themen 11
P Methoden Alle Kombinationen aus 2 Karten berechnen Allgemeine Java-Themen 2
B Threads Barrier mit wait()/notify() aber nicht alle Prozesse terminieren Allgemeine Java-Themen 2
S .jar hat nicht alle Klassen ??? Allgemeine Java-Themen 10
T Wie kann ich alle existierenden Java-Klassen anzeigen lassen? Allgemeine Java-Themen 10
M Zufälligen String generieren und alle 5 Minuten ändern Allgemeine Java-Themen 2
M RegEx alle Matches ausgeben Allgemeine Java-Themen 5
A Applet Alle Threads beim schließen des Applets beenden Allgemeine Java-Themen 8
C SwingWorker.cancle(true) tötet alle Worker Allgemeine Java-Themen 3
B Methoden Alle Methoden und Variablen aus Java-Dateien auslesen. Allgemeine Java-Themen 7
T Alle Instancen einer Klasse auflisten Allgemeine Java-Themen 13
S Programm das alle aufgerufenen Methoden ausgibt..? Allgemeine Java-Themen 6
S Alle Kombinationen aus ArrayList - Potenzmenge Allgemeine Java-Themen 7
D Alle Variablen final setzen ? Allgemeine Java-Themen 26
brunothg Alle Kombiationen von n Ziffern Allgemeine Java-Themen 2
M Erste Schritte alle xmlFiles in zugehörige pdfFiles einlesen Allgemeine Java-Themen 4
B Variablen Alle RenderingHints.Keys (KEY_*) in Array + alle RenderingHints.Keys (VALUE_*) in Object[] Allgemeine Java-Themen 8
D generische Klasse für alle Maps (nicht Collections :-)) Allgemeine Java-Themen 11
E Logger loggt nicht alle Level Allgemeine Java-Themen 2
S Aus einer Liste<Oberklasse> alle Elemente die eine bestimmte Unterklasse von Oberklasse haben filter Allgemeine Java-Themen 8
K String: alle X Zeichen Zeilenumbruch Allgemeine Java-Themen 3
F Alle Exceptions abfangen Allgemeine Java-Themen 4
nrg JS als ScriptEngine - alle Punkte ersetzen Allgemeine Java-Themen 4
A Bildschirmauflösung geändert - alle Bildschirminhalte verschoben - was tun? Allgemeine Java-Themen 7
C Alle Klassen eines Packages lesen und instanzieren? Allgemeine Java-Themen 9
B Alle Exceptions auf einmal abfangen Allgemeine Java-Themen 4
S Warum packt er nicht alle Dateien? Allgemeine Java-Themen 13
J Alle Tage eines Jahres Allgemeine Java-Themen 2
AlexSpritze Alle Domains oder FQDN von einem Server erfragen? Allgemeine Java-Themen 2
Spot84 alle kombinationen einer string arraylist Allgemeine Java-Themen 2
S Alle Elemente von zwei Listen vergleichen Allgemeine Java-Themen 10
J Konstrukt um alle Paare und Tripel einer Punkte-Menge bilden Allgemeine Java-Themen 12
B Alle möglichen Buchstabenkombinationen in einem String Allgemeine Java-Themen 7
P alle zusammanhaengenden teilgraphen Allgemeine Java-Themen 7
A alle nicht-dplikate finden Allgemeine Java-Themen 14
M Wie kann ich alle System.out Strings in ein log window umleiten? Allgemeine Java-Themen 6
E Alle unter Prozesse der beim schließen mit schließen Allgemeine Java-Themen 3
A An alle Cracks: Anwendung beenden mit ShutdownHook? Allgemeine Java-Themen 13
J Logger gibt nicht alle Level aus Allgemeine Java-Themen 3
M alle möglichen Zahlenkombinationen Allgemeine Java-Themen 5
B in welchem verzeichnis liegen alle installierten klassen? Allgemeine Java-Themen 6
hdi Für alle fleissigen Helfer! Allgemeine Java-Themen 15
N Alle Fehler ausgeben? Allgemeine Java-Themen 4
J Zweiter Prozess der alle x Sekunden etwas abfragen soll Allgemeine Java-Themen 2
O Auf alle Events reagieren Allgemeine Java-Themen 3
B J-Unit Tests. Alle Tests eines Package einsammen. Allgemeine Java-Themen 4
U alle Dateien eines Ordners innerhalb einer JAR auflisten Allgemeine Java-Themen 6
S toString() für alle Member einer Klasse. Allgemeine Java-Themen 6
G Alle möglichen Konfigurationen eines Baumes Allgemeine Java-Themen 4
C Alle Möglichen Substrings der Länge k aus String extrahieren Allgemeine Java-Themen 9
C Alle Bilder eines binären Arrays ausgeben Allgemeine Java-Themen 3
G Alle möglichen Permutationen einer Folge n Allgemeine Java-Themen 3
V Alle Klassen eines Package auflisten? Allgemeine Java-Themen 6
H JTable Löschen [Alle Zeilen aufeinmal Löschen] Allgemeine Java-Themen 6
@ RegEx: Alle Sonderzeichen ausser dem Punkt Allgemeine Java-Themen 4
G Alle Möglichen Kombinationen einer Liste Allgemeine Java-Themen 11
H Alle möglichen Hochkommata ausschließen Allgemeine Java-Themen 6
M Gibt es ein Jar - das alle Componente Automatisch anpasst? Allgemeine Java-Themen 14
K Suche alle Objekte einer bestimmten Klasse Allgemeine Java-Themen 2
N Unter Mac Os X alle laufenden Prozesse ausgeben Allgemeine Java-Themen 3
S Änderung an Proberties datei an alle User weitergeben? Allgemeine Java-Themen 7
P Observer, nicht alle updates bearbeiten Allgemeine Java-Themen 2
der JoJo [TreeSelection] wie bekomme ich alle Elemente Allgemeine Java-Themen 4
G Alle Zeichen des Alphabets ausgeben Allgemeine Java-Themen 4
G Alle Möglichkeiten n Elemente Anzuordnen. Allgemeine Java-Themen 13
0 Alle Teiler einer Zahl performant berechnen? Allgemeine Java-Themen 9
J Funktion alle Möglichkeiten berücksichtigen Allgemeine Java-Themen 5
O Warten bis alle gestarteten Threads beendet sind? Allgemeine Java-Themen 6
G HTML file Alle relativen URL in absolute URL umschreiben? Allgemeine Java-Themen 12

Ähnliche Java Themen

Neue Themen


Oben