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

Robocopy-Batch lässt sich per VB-Script über Aufgabenplanung unsichtbar starten - aber nicht beenden

Frage Microsoft Windows Tools

Mitglied: Naedil

Naedil (Level 1) - Jetzt verbinden

22.10.2014, aktualisiert 22:13 Uhr, 3277 Aufrufe, 3 Kommentare

Hallo an alle,

ich habe eine Frage zu RoboCopy (System: Windows 7 Prof.); hier kurz die 'Vorgeschichte':
Ich verwende derzeit RoboCopy zum Monitoren und Synchronisieren eines Verzeichnisses. Geänderte Dateien werden so in ein verschlüsseltes Verzeichnis auf dem gleichen Rechner kopiert (die verschlüsselten Daten werden später durch andere Prozesse nach außen synchronisiert).

Zur Automatisierung wollte ich die RoboCopy-Synchronisation ursprünglich als Dienst einbinden. Dies scheiterte jedoch an meinem Wunsch, für jeden Tag ein getrenntes Logfile zu erzeugen. In einer Batchdatei kann hierfür die %date% - Umgebungsvariablen abgefragt werden. Als Start-Parameter beim Einrichten eines Dienstes kann ich dies jedoch nicht übergeben, da der Parameter hierfür (/LOG+:"c:\Logfiles\RoboCopy.%date:~-4%-%date:~-7,2%-%date:~-10,2%.log") in der Form nicht vom Dienst verarbeitbar ist; jedenfalls scheiterte der Dienststart damit jedesmal. Vielleicht muss der Syntax dann auch angepasst werden - ich hab's nicht hinbekommen... Leider kann auch in einer RoboCopy-Job-Datei nicht mit Variablen gearbeitet werden, sonst hätte ich mir den Pfad variabel aus der Job-Datei geholt.

Deshalb bin ich zum Aufgabenplaner gewechselt und starte den RoboCopy-Prozess nun hier beim Einloggen in den Benutzeraccount (mit etwas Wartezeit). Damit das ganze unsichtbar erfolgt, verwende ich hierfür VB-Script:

Set WshShell = WScript.CreateObject("WScript.Shell")
sDate = Year(Now) & "-" & Month(Now) & "-" & Day(Now)
sLogfile = "c:\Logfiles\RoboCopy." & sDate & ".log"
Return = WshShell.Run("C:\Windows\system32\robocopy.exe /JOB:""PfadZurJobdatei.rcj"" /LOG+:" & sLogFile, 0, True)

Sowohl der nicht sichtbare Aufruf des Prozesses und auch das Schreiben in eine Logdatei mit variablen Namensteil funktioniert damit prima.

Was jetzt noch stört: Das (manuelle) Beenden der Aufgabe im Aufgabenplaner bewirkt leider nicht, dass der RoboCopy-Process beendet wird. Die Aufgabe steht dann zwar als "Beendet", jedoch läuft RoboCopy noch und hält auch den Zugriff auf die Logdatei.

Gibt es eine Möglichkeit, die Umsetzung zu verbessern, so dass über den Aufgabenplaner auch ein sauberes Beenden des Prozesses erfolgt?

Vielen Dank,
Daniel
Mitglied: 114757
LÖSUNG 22.10.2014, aktualisiert um 22:13 Uhr
Hallo Daniel,
starte das Script im Taskplaner doch mit einem anderen Useraccount. Dann ist es erstens für den gerade angemeldeten User sowieso unsichtbar und wenn du Robocopy so aufrufst
cmd /c robocopy .......
kannst du auch deine Datums Umgebungsvariablen in der Zeile nutzen, oder schreibst das alles in eine Batch.

Beim Beenden des Tasks wird dann auch dein Script beendet.

Gruß
jodel32
Bitte warten ..
Mitglied: Naedil
22.10.2014, aktualisiert um 22:04 Uhr
Hallo Jodel32,

super, vielen Dank.
Ich habe als Programm nur "cmd" eingetragen, die Parameter sind dann:
/c "C:\Windows\system32\robocopy.exe" /JOB:"c:\PfadZumJobfile\Jobfile.rcj" /LOG+:"c:\PfadZumLogfile\RoboCopy.%date:~-4%-%date:~-7,2%-%date:~-10,2%.log"

Ich verwende ein anderes Benutzerkonto, das Fenster bleibt unsichtbar und beim Beenden der Aufgabe, wird auch der RoboCopy-Prozess nun beendet. Die dynamische Bennung des Logfiles mit aktuellem Datum klappt auch.

Zum Benutzerkonto hätte ich noch eine Frage: Ich habe hier jetzt das Administratorkonto verwendet, da ich sonst kein weiteres anders Benutzerkonto habe. Ist das bzgl. der Rechte bedenklich und sollte ich daher noch ein anderes Userkonto für solche Aufgaben anlegen, oder kann ich den Adminaccount verwenden?

Viele Grüße, Daniel
Bitte warten ..
Mitglied: 114757
23.10.2014, aktualisiert um 09:21 Uhr
Ist das bzgl. der Rechte bedenklich und sollte ich daher noch ein anderes Userkonto für solche Aufgaben anlegen, oder kann ich den Adminaccount verwenden?
Hallo Daniel,
ist eigentlich Jacke wie Hose, wenn jemand auf dein System physischen Zugriff hat wird er an jede Zugangsdaten kommen, egal ob du nun einen anderen Account oder den Admin-Account benutzt. Am besten ist es natürlich immer einen Account nur mit den Rechten auszustatten, die das Script tatsächlich benötigt. bei Bedarf lässt sich dieser Nutzer ja dann auf der Anmeldeseite via Registry-Eintrag ausblenden.

Gruß
jodel32
Bitte warten ..
Ähnliche Inhalte
VB for Applications
VB-Script per Aufgabenplanung
gelöst Frage von S4kar97VB for Applications2 Kommentare

Hallo, Ich habe mir ein VB-Script erstellt, welches im Grunde ein Programm startet und diesem Parameter übergibt und die ...

Batch & Shell
Batch lässt sich nicht aus Powershell-Script starten
gelöst Frage von complexBatch & Shell4 Kommentare

Guten Morgen Jungs! stehe vor einem kuriosen Problem und hoffe, ihr könnt mir helfen. Eins vorne Weg: Ich weiß ...

Batch & Shell
WinSCP in einer Batch starten durch Aufgabenplanung
gelöst Frage von Xanathos57Batch & Shell13 Kommentare

Hallo zusammen, ich hätte da ein Problem. Ich will mittels einer Aufgabenplanung eine Batch-Datei ausführen lassen. In der genannten ...

VB for Applications
VB-Script in VB-Script starten und Parameter übergeben
gelöst Frage von denkisVB for Applications7 Kommentare

Hallo liebe Scriptgemeinde, ich muss mehrere Rechner für den Übergang in eine neue Domäne vorbereiten. Dafür sind drei wesentliche ...

Neue Wissensbeiträge
Internet

USA: Die FCC schaff die Netzneutralität ab

Information von Frank vor 42 MinutenInternet1 Kommentar

Jetzt beschädigt US-Präsident Donald Trump auch noch das Internet. Der neu eingesetzte FCC-Chef Ajit Pai ist bekannter Gegner einer ...

DSL, VDSL

ALL-BM200VDSL2V - Neues VDSL-Modem mit Vectoring von Allnet

Information von Lochkartenstanzer vor 4 StundenDSL, VDSL1 Kommentar

Moin, Falls jemand eine Alternative zu dem draytek sucht: Gruß lks

Windows 10

Microsoft bestätigt DMA-Policy-Problem in Win10 v1709

Information von DerWoWusste vor 4 StundenWindows 10

Wer sein Gerät mit der DMA-Policy absichert, bekommt evtl. Hardwareprobleme in v1709 von Win10. Warum? Weil v1709 endlich "richtig" ...

Verschlüsselung & Zertifikate

Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows

Information von ticuta1 vor 7 StundenVerschlüsselung & Zertifikate

Interessant Die Hölle friert ein weiteres Stück zu: Microsoft integriert OpenSSH in Windows SSH-Kommando in CMD.exe und PowerShell

Heiß diskutierte Inhalte
Windows Server
RODC kann nicht aus Domäne entfernt werden
Frage von NilsvLehnWindows Server19 Kommentare

HAllo, ich arbeite in einem Universitätsnetzwerk mit 3 Standorten. Die Standorte haben alle ein ESXi Cluster und auf diesen ...

Hardware
Kein Bild mit nur einer bestimmten Grafikkarten - Mainboard Konfiguration
gelöst Frage von bestelittHardware18 Kommentare

Hallo zusammen, ich hatte schon einmal eine ähnliche Frage gestellt. Damals hatte ich genau das gleiche Problem. Allerdings lies ...

Netzwerkmanagement
Mehrere Netzwerkadapter in einem PC zu einem Switch zusammenfügen
Frage von prodriveNetzwerkmanagement18 Kommentare

Hallo zusammen Vorweg, ich konnte schon einige IT-Probleme mit Hilfe dieses Forums lösen. Wirklich klasse hier! Doch für das ...

Hardware
Links klick bei Maus funktioniert nicht
gelöst Frage von Pablu23Hardware16 Kommentare

Hallo erstmal. Ich habe ein Problem mit meiner relativ alten maus jedoch denke ich nicht das es an der ...