Top-Themen

Aktuelle Themen (A bis Z)

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

gelöst srvcheck über cmd als anderer Benutzer aufrufen

Mitglied: 79323

79323 (Level 1)

19.10.2009 um 15:54 Uhr, 7706 Aufrufe, 5 Kommentare

Hallo,

Ich möchte über ein Javaprogramm mir alle Server, sowie deren Freigaben und Berechtigungen ausgeben lassen.
Als gutes Tool habe ich dazu SvrCheck.exe aus dem Windows Resource Kit gefunden und so in Java eingebunden:
01.
Process p2=Runtime.getRuntime().exec("cmd.exe /C srvcheck.exe "+pfad); 
02.
                    BufferedReader in2 = new BufferedReader(new InputStreamReader(p2.getInputStream())); 
03.
                    String s2; 
04.
                    while((s2 = in2.readLine()) != null) 
05.
06.
                        ta_erg.append(s2+System.getProperty("line.separator")); 
07.
                    }
Leider muss ich dass Programm als Domänenadministrator ausführen um ein geeignetes Ergebnis zu bekommen. Da wir aber 2 Domänen haben, kann ich es nicht über den normalen Benutzer (wer das Programm aufruft) laufen lassen, da er immer nur Administrator von einer Domäne ist.
Jetzt meine Frage, gibt es eine Möglichkeit die Date srvcheck bzw das cmd von einem anderen Benutzer aus zu starten?
Ich habe dazu dies gefunden:
01.
Process p2=Runtime.getRuntime().exec("cmd.exe runas /user:XYQ cmd.exe /C srvcheck.exe "+pfad);
Leider kommt dabei dann weder eine Fehlermeldung noch sonst irgendetwas. Der Befehl wird anscheinend einfach übersprungen.
Ist etwas an meinem Aufrug falsch oder muss ich vllt auch anders an die Sache ran gehen?

Gruß
seejay
Mitglied: ITIL-Harry
19.10.2009 um 16:04 Uhr
schau Dir mal die Parameter des Befehls RUNAS an

oder starte das Programm über eine Verknüpfung und gib in deren Eigenschaften
die Ausführung unter anderem Account an.

Gruß
ITIL-Harry
Bitte warten ..
Mitglied: DerWoWusste
20.10.2009 um 00:21 Uhr
Hallo.
Willst Du dem Benutzer ermöglichen, ein Skript als anderer Benutzer zu starten, nutze den Taskplaner. Da kannst Du Konteninformationen einspeichern und den schwachen Benutzer berechtigen, den Task zu starten. Die Ausführung des Tasks wird für ihn unsichtbar sein, es muss also eine Ausgabe in eine DAtei erfolgen, damit er das Ergebnis verwerten kann. Außerdem muss das Skript selbst tunlichst auf einer Freigabe liegen, auf die der Nutzer nur Leserechte hat.
Bitte warten ..
Mitglied: 79323
20.10.2009 um 08:20 Uhr
Hallo,
Vielen Dank schon einmal für eure Mühe.

Zitat von DerWoWusste:
Hallo.
Willst Du dem Benutzer ermöglichen, ein Skript als anderer
Benutzer zu starten, nutze den Taskplaner. Da kannst Du
Konteninformationen einspeichern und den schwachen Benutzer
berechtigen, den Task zu starten. Die Ausführung des Tasks wird
für ihn unsichtbar sein, es muss also eine Ausgabe in eine DAtei
erfolgen, damit er das Ergebnis verwerten kann. Außerdem muss
das Skript selbst tunlichst auf einer Freigabe liegen, auf die der
Nutzer nur Leserechte hat.

Also jein ;) Unsere Systemlandschaft hat mich zu diesem Schritt gebracht. Also eine Person bei uns hat einen Benutzer als lokalen Admin. Mit diesem ist die Person meistens angemeldet, bzw sollte maximal mit diesem angemeldet sein. Dazu hat die Person 2 weitere Accounts, die jeweils Domänenadmin für eine unserer Domänen ist.
Mein Programm soll jetzt Freigabeordner und Berechtigungen von beiden Domänen auslesen. Dafür müsste aber der jeweilige Domänenadministrator angemeldet sein. Da es 2 unterschiedliche Accounts sind geht es nicht. Damit jetzt nicht der User 3 Programme starten und sich jeweils anders anmelden muss, wollte ich es jeweils mit runas verwirklichen. Der Benutzer gibt seinen Usernamen und Passwort in das Programm und dieses startet im Hintergrund die jeweiligen Domänenabfragen (jeweils mir runas).

Ich hoffe es ist jetzt etwas klarer geworden, was ich machen möchte und wo mein Problem liegt.


@edit:
Beim Schreiben etwas aufgefallen:
01.
Process p2=Runtime.getRuntime().exec("cmd.exe /C runas /user:XYQ \"cmd.exe  srvcheck.exe "+pfad+ "\"");
Mit dem /C vorne funktioniert es, dass ich die Abfrage nach dem Passwort bekomme. Aber wie kann ich es dann an den Prozess übergeben?
Dachte hier an soetwas
01.
                    Process p2=Runtime.getRuntime().exec("cmd.exe /C runas /user:XYZ \"cmd  srvcheck.exe "+pfad+"\""); 
02.
                    OutputStreamWriter out2 = new OutputStreamWriter (p2.getOutputStream()) {}; 
03.
                    out2.append("PASSWORT"); 
04.
                    out2.flush(); 
05.
                    BufferedReader in2 = new BufferedReader(new InputStreamReader(p2.getInputStream())); 
06.
                    String s2; 
07.
                    while((s2 = in2.readLine()) != null) 
08.
09.
                        System.out.println(s2+System.getProperty("line.separator")); 
10.
                    }
Geht aber leider nicht. Wie muss ich da vorgehen?


Gruß
seejay
Bitte warten ..
Mitglied: ITIL-Harry
20.10.2009 um 10:47 Uhr
Hi seejay,

evtl. liegt es an der Authentisierung.
In Deinem Script schreibst Du ....... exec("cmd.exe /C runas /user:XYZ \" ........
Versuch es mal mit ....... exec("cmd.exe /C runas /user:Domäne\XYZ \" ........

Wenn ich das richtig verstanden habe möchtest Du domänenübergreifend Infos ermitteln.
Dann musst Du Dich auch mit dem jeweiligen Domänenaccount anmelden.

Alternativ könntest Du Trusts einrichten und die Domänenadmins gegenseitig in die
Domainadmingruppen eintragen.

Gruß
ITIL-Harry
Bitte warten ..
Mitglied: 79323
20.10.2009 um 13:31 Uhr
Hallo,

ne daran lag es nicht. Inzwischen habe ich es jetzt auch hinbekommen. Zwar umständlicher als gewollt aber wenigstens funktioniert es. Daten werden jetzt per srvcheck über cpau aufgerufen und in einer textdaien zwischengespeichert. Dort will ich sie danach wieder einlesen.

Gruß
seejay
Bitte warten ..
Ähnliche Inhalte
Batch & Shell

Powershell: CMD Kommando mit Parameter aufrufen

gelöst Frage von bonnerjungBatch & Shell8 Kommentare

Hallo Admins, ich möchte gerne einen CMD Befehl mit Parameter aus der Powershell aufrufen, finde aber so schnell keine ...

Batch & Shell

Cmd Befehle in Powershell GUI aufrufen

gelöst Frage von Markus2016Batch & Shell5 Kommentare

Hallo zusammen, ich brauche etwas Hilfe. In meiner erstellten GUI möchte ich ein paar Funktionen mit cmd Befehlen aufrufen. ...

Batch & Shell

Windows 7 Batch (CMD) für alle Benutzer

Frage von WaldimanBatch & Shell10 Kommentare

Hallo habe folgendes Problem. Ich habe 2 CMD Scripte, die bei Bedarf den "MYSQL-Dienst" starten oder stoppen (script 1 ...

Batch & Shell

CMD: Unterschiede bei cmd Dateien in der Ausführung

gelöst Frage von ralfkauskBatch & Shell10 Kommentare

Hallo zusammen Ich habe gerade ein kleines Verständnisproblem. Durch ein Powershell Skript habe ich mir etliche .cmd Dateien erstellen ...

Neue Wissensbeiträge
Sicherheit

MikroTik-Router patchen, Schwachstelle wird ausgenutzt

Information von kgborn vor 17 StundenSicherheit

Am 23. April 2018 wurde von Mikrotik ein Security Advisory herausgegeben, welches auf eine Schwachstelle im RouterOS hinwies. Mikrotik ...

Windows 10

Microcode-Updates KB4090007, KB4091663, KB4091664, KB4091666 für Windows 10

Information von kgborn vor 23 StundenWindows 101 Kommentar

Kurze Information für Administratoren von Windows 10-Systemen, die mit neueren Intel CPUs laufen. Microsoft hat zum 23. April 2018 ...

iOS
Updates für Iphone und Co
Information von sabines vor 1 TagiOS

Gestern abend ist iOS 11.3.1 erschienen, ein kleineres Update, dass einige Lücken schließt und "Lahmlegen" nach einem Display Tausch ...

Windows 7

Windows 7 - Server 2008 R2: Exploit für Total Meltdown verfügbar

Information von kgborn vor 2 TagenWindows 7

Kleine Information für Administratoren, die für die Updates von Windows 7 SP1 und Windows Server 2008 R2 SP1 verantwortlich ...

Heiß diskutierte Inhalte
Batch & Shell
Powershell: Im AD nach Rechnern mit bestimmten IP-Adressen suchen
gelöst Frage von Raven42Batch & Shell36 Kommentare

Hallo zusammen, ich suche nach einer Möglichkeit nach Computern im AD zu suchen , deren IP-Adresse mit 10.11.12. beginnt. ...

C und C++
Frage1 C Programmierung-Makefile Frage2 PHP-Programmierung HTTP-Fehler 404
Frage von KatalinaC und C++34 Kommentare

Hallo, ich habe 2 Fragen, die nichts miteinander zu tun haben aber mit denen ich mich gerade beschäftige: 1. ...

LAN, WAN, Wireless
Watchguard T15 VPN Einrichtung
gelöst Frage von thomasjayLAN, WAN, Wireless25 Kommentare

Hallo zusammen, wir möchten gerne über unsere Watchguard T15 einen VPN-Tunnel (Mobile VPN with IPSec) einrichten! Als Client nutzen ...

Windows Server
Alten DC entfernen
Frage von smartinoWindows Server24 Kommentare

Hallo zusammen, ich habe hier eine Umgebung übernommen und erstmal einen DCDIAG gemacht. Dabei fällt auf, daß eine ganze ...