Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

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

Dienst starten und Stoppen, Datei löschen auf remote system - wie?

Frage Microsoft Windows Tools

Mitglied: dermoritz

dermoritz (Level 1) - Jetzt verbinden

08.02.2012 um 16:28 Uhr, 5234 Aufrufe, 17 Kommentare

Ich hab ein simples Problem: ich muss auf einem Entfernten System (Lan, "Rechner2") einen Dienst stoppen (Tomcat7), einen Ordner und eine Datei löschen und den Dienst wieder starten. Das ganze soll per Kommandozeilenbefehl erfolgen (Er wird ausgelöst durch einen Dienst (läuft unter "System") auf einem Rechner - "Rechner1"). Was ich bisher versuch habe:
"sc" Problem: es wartet nicht bis Dienst wirklich gestoppt ist, so dass es passieren kann, das der start-Befehl ignoriert wird und am Ende der Dienst nicht läuft
"PSExec" führt batch auf remote system aus, Problem: aus unerfindlichen Grund kommt manchmal:
"
PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com


The system cannot find the file specified.
Connecting to Rechner2...


Starting PsExec service on Rechner2...


Connecting with PsExec service on Rechner2...


Starting d:\batch\batch.cmd on Rechner2...



d:\batch\batch.cmd exited on a-awdbstaging with error code 1.
"
aus der Konsole kann ich dieses Problem nicht reproduzieren es tritt nur manchmal auf wenn es durch den Dienst auf Rechner1 ausgelöst wird. PSExec wird mit einem Benutzeraccount (-u,-p) aus der Domäne gestartet, dieser Benutzer ist Admin auf Rechner2.

Ich würde mich über eine Alternative oder Lösung einer der beiden Probleme freuen

Danke im Voraus
Mitglied: Lousek
08.02.2012 um 16:41 Uhr
Sali

Du könntest nach dem sc stop noch ein sleep 5 benutzen ;)

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
08.02.2012 um 16:48 Uhr
und wenn das stoppen 6 sekunden dauert funktionierts wieder nicht - je nach dem was auf dem tomcat läuft kann das stoppen ziemlich lange dauern und ich brauch etwas was immer funktioniert.
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 16:50 Uhr
Mit sc query nach dem Stoppen des Dienstes den Status abfragen, bis er wirklichg gestoppt ist?

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
08.02.2012 um 16:52 Uhr
kannst mir ein besipiel geben? braucht man da eine Schleife?
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 17:00 Uhr
Ich denke, dass du es mit Batch machst ...

Ich bin auch nicht wirklich fit in Batch, aber da es keine While schleifen gibt, musst du es wohl "irgendwie" so lösen:

sc stop Tomcat
:while
IF sc query überprüfung goto :next
goto :while

:next
file löschen
sc start Tomcat

Gruss
lousek
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 17:05 Uhr
oder aber, wie ich gerade entdeckt habe, viel einfacher:

nimm net stop Tomcat und net start Tomcat anstatt sc start, weil bei net stop wartet er bis der Service wirklich gestoppt ist ;)
Bitte warten ..
Mitglied: dermoritz
08.02.2012 um 17:12 Uhr
"net" geht aber nur lokal oder?

net ist genau der befehl den ich in der bat-Datei benutze die PSExec ausführen soll - aber das klappt ja leider auch nicht
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 17:15 Uhr
Die bat-Datei wird ja aber durch PsExec "lokal" auf dem entfernten Client ausgeführt, also müsste das eigentlich gehen ...

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
08.02.2012 um 17:17 Uhr
und das Problem ist das es eben nicht geht. Die Frage ist warum oder was ich tun kann oder welche ALternativen es gibt.
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 17:20 Uhr
Wie sieht denn dein Batch-file aus? Oder was kommt für ein Error zurück, wenn net start ausgeführt werden sollte?

Gruss
lousek

Edit:
Bei mir klappt das wunderbar:
C:\Users\xxx\Downloads\PsTools>PsExec.exe \\computer -c C:\temp\test
.bat

PsExec v1.98 - Execute processes remotely
Copyright (C) 2001-2010 Mark Russinovich
Sysinternals - www.sysinternals.com



C:\WINDOWS\system32>net stop DNScache

The DNS Client service was stopped successfully.


C:\WINDOWS\system32>net start DNScache
The DNS Client service is starting.
The DNS Client service was started successfully.

test.bat exited on computer with error code 0.

Batch-file sieht so aus:
net stop DNScache
net start DNScache
Bitte warten ..
Mitglied: dermoritz
08.02.2012 um 17:39 Uhr
hast du meine Frage gelesen?
Bei mir klappt es auch wunderbar, wenn ich es aus der konsole starte. Das Problem tritt auf sobald ich das Kommando aus einem Dienst heraus starte (in diesem Fall Jenkins auf Tomcat). Wobei es nicht hilft den Dienst unter einem andere Benutzer auszuführen (z.b. mit dem Benutzer mit dem auch die Konsole gestartet wurde)
Bitte warten ..
Mitglied: Lousek
08.02.2012 um 18:31 Uhr
Sali

Ja, ich hatte deine Frage gelesen! Aber erst jetzt ist mir klar, wie du es genau meinst, sorry ...

Um bei der Ausführung durch den Dienst die Ausgabe zu "speichern", versuch mal die Ausgabe in eine Datei umzuleiten, also z.B. "start test.bat > C:\logfile.txt 2>&1"

Was steht nachher in der Datei?

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
09.02.2012 um 09:53 Uhr
Danke das war ein sehr guter Hinweis!

Damit bin ich auch auf das http://jenkins.361315.n4.nabble.com/remotely-executing-commands-td34764 ... gestoßen. Es scheint, dass man prinzipiell die Ausgabe und die Errorausgabe umleiten sollte damit es überhaupt aus java/.net heraus funktioniert.
Bitte warten ..
Mitglied: Lousek
09.02.2012 um 09:56 Uhr
Wenn du also die Ausgabe umleitest, funktioniert es dann? ;)

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
09.02.2012 um 11:04 Uhr
ja! - der link den ich angegeben hab begründet das damit, dass es wohl an java/.net liegt - da muss man wohl immer die ausgabe umleiten.
Bitte warten ..
Mitglied: Lousek
09.02.2012 um 11:07 Uhr
Perfekt!

Dann den "Close" nicht vergesse ;)

Gruss
lousek
Bitte warten ..
Mitglied: dermoritz
09.02.2012 um 14:27 Uhr
-- doch nicht -- es ist unzuverlässlich wie vorher. manchmal kommt errcode eins wie oben und manchmal bleibt psexec einfach hängen. Aus der Konsole funktionieren eigentlich alle Varianten.
Bitte warten ..
Ähnliche Inhalte
Windows Server
gelöst Exchange Dienste starten (4)

Frage von butch12 zum Thema Windows Server ...

Windows Server
gelöst Windows 2012R2 kann Datei nicht löschen (2)

Frage von Akcent zum Thema Windows Server ...

Batch & Shell
gelöst Löschen von Dateien nach bestimmten Zeitmuster (8)

Frage von NetzwerkDude zum Thema Batch & Shell ...

Batch & Shell
Powershell Remote Desktop Manager Session löschen (1)

Frage von blackhawk17 zum Thema Batch & Shell ...

Neue Wissensbeiträge
Linux Netzwerk

Ping und das einstellbare Bytepattern

(1)

Erfahrungsbericht von LordGurke zum Thema Linux Netzwerk ...

Windows Update

Microsoft Update KB4034664 verursacht Probleme mit Multimonitor-Systemen

(3)

Tipp von beidermachtvongreyscull zum Thema Windows Update ...

Viren und Trojaner

CNC-Fräsen von MECANUMERIC werden (ggf.) mit Viren, Trojanern, Würmern ausgeliefert

(4)

Erfahrungsbericht von anteNope zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Microsoft Office
Office Druck fehler (18)

Frage von DaistwasimBusch zum Thema Microsoft Office ...

Netzwerkmanagement
Windows Server 2008 R2: "netsh reset" nicht verfügbar? (11)

Frage von RickTucker zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
Uninitialisierte Festplatte - Daten retten (11)

Frage von peterla zum Thema Festplatten, SSD, Raid ...

Microsoft Office
Outlook 2016 in Ordneransicht starten - GPO (9)

Frage von D-Line zum Thema Microsoft Office ...