Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

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

Frage Entwicklung Java

Mitglied: 79323

79323 (Level 1)

19.10.2009 um 15:54 Uhr, 7670 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
gelöst Cmd Befehle in Powershell GUI aufrufen (5)

Frage von Markus2016 zum Thema Batch & Shell ...

Batch & Shell
gelöst Parameter für plink-Aufruf (4)

Frage von trobonarf zum Thema Batch & Shell ...

PHP
WebShop direkt in PHP aufrufen ohne Webserver (9)

Frage von StefanKittel zum Thema PHP ...

Batch & Shell
gelöst Programm über CMD starten (9)

Frage von Galawayne zum Thema Batch & Shell ...

Neue Wissensbeiträge
Windows Update

Novemberpatches und Nadeldrucker bereiten Kopfschmerzen

(14)

Tipp von MettGurke zum Thema Windows Update ...

Windows 10

Abhilfe für Abstürze von CDPUsersvc auf Win10 1607 und 2016 1607

(7)

Tipp von DerWoWusste zum Thema Windows 10 ...

RedHat, CentOS, Fedora

Fedora 27 ist verfügbar

Information von Frank zum Thema RedHat, CentOS, Fedora ...

Heiß diskutierte Inhalte
Server
Bilder aus dem Web mit CSV runterladen (30)

Frage von Yannosch zum Thema Server ...

LAN, WAN, Wireless
Gebäudeverkabelung 10Gigabit LWL (28)

Frage von raffzwo zum Thema LAN, WAN, Wireless ...

Windows Update
Novemberpatches und Nadeldrucker bereiten Kopfschmerzen (14)

Tipp von MettGurke zum Thema Windows Update ...