ipconfig > ip.txt
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
DP hat gesagt.:ich glaube das kannste knicken. was machste denn wenn sich die user nicht am lokalen rechner sondern in der domäne anmelden?!
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 . . . . . . ...
KSG9|plak hat gesagt.:Start -> Ausführen... -> wmic.exe
KSG9|plak hat gesagt.:jo also wie gesagt..mit der wmic console kriegst du eh so ziemlich alle infos aus windows rausgequält
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]);
}
}
}
}
.
.
FileReader name = new FileReader("D:\\Windows\\Temp\\usernames.txt");
.
.
String[] line = new String[50];
Collection user;
.
.
for(Iterator i = user.iterator();i.hasNext())
System.out.println(i.next());
}
while(nameR.readLine() != null)
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..
FileReader name = new FileReader("%windir%\\Temp\\usernames.txt");
try {
Process getUserNames = Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption");
getUserNames.waitFor();
}
catch (Exception e) {
}
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) {
}
try {
Process getUserNames = Runtime.getRuntime().exec("cmd /c wmic /OUTPUT:\"%windir%\\temp\\usernames.txt\" useraccount get caption");
getUserNames.waitFor();
}
catch (Exception e) {
}
File pfad = new File("%windir%\\Temp\\usernames.txt");
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");
}