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

Frage Entwicklung Java

GELÖST

srvcheck über cmd als anderer Benutzer aufrufen

Mitglied: 79323

79323 (Level 1)

19.10.2009 um 15:54 Uhr, 7687 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 ...

VB for Applications
Aufruf einer CMD aus einem VBScript läuft nicht sauber
gelöst Frage von derhoeppiVB for Applications8 Kommentare

Hallo Leute, ich habe ein VBScript, das ein vorhandenes Batch-Skript aufrufen soll. Für den Aufruf der CMD habe ich ...

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 ...

Neue Wissensbeiträge
Router & Routing

PfSense als Addon auf QNAP

Information von magicteddy vor 4 StundenRouter & Routing1 Kommentar

Moin, für Spielereien eine ganz nette Idee aber ich fürchte das soetwas auch als echte Firewall genutzt wird: In ...

Datenschutz

Teamviewer kommt für IoT-Geräte wie den Raspberry Pi

Information von magicteddy vor 10 StundenDatenschutz

Moin, jetzt werden IoT Geräte endgültig zur Wanze? Anscheinend kann man auf einem Dashboard seine Geräte visualisieren Ich stelle ...

Microsoft

Letzte Updates für Win10 und Server2016 müssen bei Bedarf über den Update catalogue in den WSUS importiert werden!

Tipp von DerWoWusste vor 15 StundenMicrosoft1 Kommentar

automatisch kommt da nichts an im WSUS und auch nicht im SCCM. Siehe Hinweise zum Bezug der jeweils neuesten ...

Linux

Meltdown und Spectre: Linux Update

Information von Frank vor 3 TagenLinux

Meltdown (Variante 3 des Prozessorfehlers) Der Kernel 4.14.13 mit den Page-Table-Isolation-Code (PTI) ist nun für Fedora freigegeben worden. Er ...

Heiß diskutierte Inhalte
Netzwerkmanagement
Preis für Wartungsvertrag ok?
gelöst Frage von a-za-zNetzwerkmanagement22 Kommentare

Hallo! Mal ne Frage, weil ich mich mit dem akzeptablen Preis für einen Reaktionszeitvertrag nicht auskenne. Meine Firma hat ...

Windows Netzwerk
Ist ein Portforwarding auf einen PC ohne lauschendes Programm ein (großes) Sicherheitsproblem?
Frage von PluwimWindows Netzwerk13 Kommentare

Hallo zusammen, zur Fernwartung eines Rechners an einem anderen Ort nutze ich VNC. Da dieser Rechner einfach nur eine ...

Windows Server
Terminal Server 2016 erkennt Berechtigungen nicht
gelöst Frage von Thomas2Windows Server10 Kommentare

Hallo Administratoren, folgendes Problem stellt sich dar: Es gibt zwei Windows Server 2016, die als Terminal Server fungieren. Jetzt ...

Sonstige Systeme
7-zip: Programm frägt nach Passwort erst bei einzelnen Dateien
Frage von freeskierchrisSonstige Systeme7 Kommentare

Guten Morgen, ich habe ein Problem beim Arbeiten mit 7-zip: Wenn ich die einzelnen Dateien zu einem Archiv verpacke ...