mtcmtc
Goto Top

Syntax für kopieren von+zu local von bestehender RDP mit RDSH+TSClient

Hallo zusammen,

ich habe ein Problem, bei dem ich auf Euere Hilfe hoffe ...

Folgendes Szenario:

Lokaler Rechner PC1 macht RDP-Session und hat darin folgendes zur Verfügung:

RDSH1: \\RDSH1\meinVerzeichnis\*.*
tsclient: \\tsclient\c\meinKram\*.*

Jeweils bestehen Schreib- und Leserechte

Zwischen RDSH und tsclient kann ich munter hin und her kopieren.

Ich kann in "\\RDSH1\meinVerzeichnis\meineDatei.txt" via markieren und kopieren und dann auch lokal auf PC1 einfügen.


Allerdings möchte ich dies aus einer Batchdatei heraus machen, bekomme es aber nicht hin, da ich wohl die falsche Syntax verwende.

1. Wie müsste meine komplette Syntax aussehen, wenn ich "meineDatei" vom RDSH1 zu PC1 kopieren wollte?
2. Wie müsste meine komplette Syntax aussehen, wenn ich "meineDatei" vom PC1 wieder nach RDSH1 zurückschreiben möchte?

Ich habe schon alle möglichen Varianten ausprobiert, aber ohne Erfolg.

Für eine Unterstützung bin ich sehr dankbar!

LG Michael

Content-ID: 1757218712

Url: https://administrator.de/contentid/1757218712

Ausgedruckt am: 23.11.2024 um 11:11 Uhr

beidermachtvongreyscull
beidermachtvongreyscull 24.01.2022 um 17:11:48 Uhr
Goto Top
Mahlzeit!

Ich glaube, Du stellst die falschen Fragen.

Es kommt nämlich auf den Kontext an, in dem das Script läuft.

Ein Beispiel:

Die Freigabe \\tsclient gibt es nur innerhalb der RD-Session. Außerhalb gibt es sie nicht.

Du könntest einfach zwei geeignete Freigaben bauen, sofern möglich und verwendest die. Die sind zwar statisch, aber sie funktionieren immer.

Gruß
bdmvg
mtcmtc
mtcmtc 24.01.2022 um 17:24:45 Uhr
Goto Top
Hallo bdmvg,

vielen dank für Deine Info!

Vielleicht verstehe ich das falsch, aber wenn ich die Datei einfach mit copy&paste vom RDSH1 auf PC1 kopieren kann, dann (so denke ich) muss es dafür doch auch einen Kommandezeilenbefehl geben ...

... etwa so: Copy "\\RDSH1\meinVerzeichnis\meineDatei.txt" \\PC1\blabla\meineDatei.txt
beidermachtvongreyscull
beidermachtvongreyscull 24.01.2022 um 17:29:39 Uhr
Goto Top
Zitat von @mtcmtc:

Hallo bdmvg,

vielen dank für Deine Info!

Vielleicht verstehe ich das falsch, aber wenn ich die Datei einfach mit copy&paste vom RDSH1 auf PC1 kopieren kann, dann (so denke ich) muss es dafür doch auch einen Kommandezeilenbefehl geben ...

... etwa so: Copy "\\RDSH1\meinVerzeichnis\meineDatei.txt" \\PC1\blabla\meineDatei.txt

Prinzipiell ja, aber UNC-Pfade sind bei cmd und Batch etwas schwierig.
Ich würde mit den Befehlen popd und pushd mein Glück versuchen. Die müssten auch unter Batch funktionieren und umgehen UNC dabei.
mtcmtc
mtcmtc 24.01.2022 um 17:35:07 Uhr
Goto Top
Könntest Du mir evtl. für deinen Vorschlag ein Beispiel schreiben ...

Wie würde so etwas in etwa aussehen?

Mit popd und pushd habe ich noch nie etwas gemacht ...

Ich werde in der Zwischenzeit mal danach googlen ...

Vielen Dank erst einmal für Deine Hinweise

LG Michael
mtcmtc
mtcmtc 24.01.2022 um 18:03:06 Uhr
Goto Top
Vielleicht gibt es ja auch einen workaround ...

Könnte ich denn aus meiner lokalen Batch in das auf RDSH1 freigegebene Verzeichnis wechseln?


Wäre das weniger kompliziert?

Ich muss halt alles aus der Batch vom lokalen Rechner steuern ...
mtcmtc
mtcmtc 24.01.2022 um 18:05:56 Uhr
Goto Top
Dann würde ich dort von RDSH auf tsclient kopieren ... und könnte die Datei auf PC1 bearbeiten und dann wieder auf tsclient wechsel und dort die bearbeitete Datei auf RDSH zurückkopieren ...
beidermachtvongreyscull
beidermachtvongreyscull 24.01.2022 um 18:17:39 Uhr
Goto Top
Zitat von @mtcmtc:
Ich muss halt alles aus der Batch vom lokalen Rechner steuern ...

Das hier war entscheidend! Die Batch wird also nur lokal auf dem Client-Rechner liegen, nicht auf beiden Seiten.
mtcmtc
mtcmtc 24.01.2022 um 18:22:21 Uhr
Goto Top
Kann ich denn von meiner lokalen batch eine batch auf dem RDP starten, die nach Ausführung wieder an meine Batch zurückgibt?
148656
148656 24.01.2022 um 18:30:13 Uhr
Goto Top
Soso, du musst das? Warum belästigst du dann nicht eure IT-Abteilung?
Die Wahrscheinlichkeit ist sehr hoch, das dies gar nicht gewollt bzw erlaubt ist.
mtcmtc
mtcmtc 24.01.2022 aktualisiert um 18:43:58 Uhr
Goto Top
Zitat von @148656:

Soso, du musst das? Warum belästigst du dann nicht eure IT-Abteilung?
Die Wahrscheinlichkeit ist sehr hoch, das dies gar nicht gewollt bzw erlaubt ist.

Sorry, aber ich hatte nicht vor hier jemanden zu belästigen ... ich dachte, dass man hier einfach eine Frage stellen kann ...

Da ich, freigegeben von der IT, mein Vorhaben mit copy&paste lösen kann, wollte ich dies einfach nur automatisieren ...
und da in meiner Batch (nicht powershell, sondern eine einfache Batch-Datei) schon alles mögliche läuft, wollte ich nur eine weitere Aufgabe hinzufügen, die mir sowieso gestattet ist ...

Ich hatte nicht erwartet, dass ein simples Kopieren einer Datei von A nach B einen großen Aufwand machen würde.
Wir haben nur eine externe IT und die wollte ich nicht damit "belästigen".

Es tut mir leid, wenn Du eine Frage hier in diesem Forum als Belästigung empfindest!

LG Michael
148656
148656 24.01.2022 um 18:58:14 Uhr
Goto Top
Ums belästigen geht es hier gar nicht.
Ich weiß nur, dass es schon einige Firmen sehr hart getroffen hat, wenn sich ein Vertriebsmitarbeiter die gesamte Kundendatenbank, Preislisten, usw. auf den privaten Rechner gezogen hat und damit zur Konkurrenz gewandert ist.
Von daher ist es für mich schwer verständlich, dass man bei euch, so "einfach" Daten hin und herschaufeln kann.
Ist kein Vorwurf, sondern nur der Worst-Case
beidermachtvongreyscull
beidermachtvongreyscull 24.01.2022 um 19:33:21 Uhr
Goto Top
Zitat von @mtcmtc:

Kann ich denn von meiner lokalen batch eine batch auf dem RDP starten, die nach Ausführung wieder an meine Batch zurückgibt?

Das wird zu umständlich. Dazu bräuchtest Du Hilfstools wie psexec und die werden gerne von Virenkillern eingezogen bzw. brauchen administrative Rechte um zu starten.

Du möchtest ja erreichen, dass wenn Du die Batch remote auf dem Server startest, diese auch dort läuft und nicht auf dem Client.

Aber zu Deiner Frage wegen popd und pushd:

Starte einfach mal eine Kommandozeile, wenn Du z.B. auf dem Client bist und von der Serverfreigabe kopieren willst. Dann gibst Du ein paar Befehle nach einander ein:

cd\
...damit Du einen absoluten Startausgangspunkt hast
popd \\RDSH1\meinVerzeichnis\
...damit wird die Freigabe auf dem Server mit einem freien Laufwerksbuchstaben assoziiert und auch direkt dorthin gewechselt.
copy meineDatei.txt c:\users\documents\
Damit sollte die Datei von der Freigabe auf Deinen Client kopiert werden.
pushd
Meldet das zuvor mit popd gemappte Laufwerk wieder ab.

Probiere mal, ob das funktioniert.
mtcmtc
mtcmtc 24.01.2022 aktualisiert um 19:48:39 Uhr
Goto Top
Zitat von @148656:

Ums belästigen geht es hier gar nicht.
Ich weiß nur, dass es schon einige Firmen sehr hart getroffen hat, wenn sich ein Vertriebsmitarbeiter die gesamte Kundendatenbank, Preislisten, usw. auf den privaten Rechner gezogen hat und damit zur Konkurrenz gewandert ist.
Von daher ist es für mich schwer verständlich, dass man bei euch, so "einfach" Daten hin und herschaufeln kann.
Ist kein Vorwurf, sondern nur der Worst-Case

Ich stimme Dir durchaus zu, aber ich kann mir jederzeit via copy&paste alles mögliche kopieren und es ist mir erlaubt.

Ich muss einfach nur eine einzige Exceldatei zu mir auf meinen HomeOffice-Rechner kopieren (was ich derzeit manuell mache), dann bearbeiten und wieder zurück in das selbe Vereichnis stellen.

Und neben vielen anderen Aufgaben sollte dies via Batchfile (nicht Powershell, sondern klassisch) gemacht werden.

Und nur dafür brauche ich die richtige Syntax, die auch in meinem Batchfile läuft.

Als verspätete Alternative ist mir eingefallen, dass ich auch (sofern möglich) einfach via Batch auf die RDSH-Freigabe oder meinen tsclient (die Verbindung besteht dann schon vorher) wechseln könnte.
Von dort aus kenne ich die Kopiersyntax (bereits ausprobiert).

Leider habe ich aber auch keine Ahnung, wie ich via meiner lokalen Batch auf den RDP wechseln kann.

Wie gesagt ... manuell darf und kann ich dies eh schon machen ... mit Erlaubnis der GL ... aber ich würde es gerne automatisiert ablaufen lassen, da (historisch bedingt) diese Batchdatei u. a. die Weiterverarbeitung der kopierten Datei steuert.

Meine Batch stellt bereits die Verbindung via RDP her ... und trennen kann ich sie auch via Batch.
Ich bekomme nur diese eine Datei nicht automatisch hin und her kopiert.


LG Michael
mtcmtc
mtcmtc 24.01.2022 aktualisiert um 22:04:17 Uhr
Goto Top
Zitat von @beidermachtvongreyscull:

Zitat von @mtcmtc:

Kann ich denn von meiner lokalen batch eine batch auf dem RDP starten, die nach Ausführung wieder an meine Batch zurückgibt?

Das wird zu umständlich. Dazu bräuchtest Du Hilfstools wie psexec und die werden gerne von Virenkillern eingezogen bzw. brauchen administrative Rechte um zu starten.

Du möchtest ja erreichen, dass wenn Du die Batch remote auf dem Server startest, diese auch dort läuft und nicht auf dem Client.

Aber zu Deiner Frage wegen popd und pushd:

Starte einfach mal eine Kommandozeile, wenn Du z.B. auf dem Client bist und von der Serverfreigabe kopieren willst. Dann gibst Du ein paar Befehle nach einander ein:

cd\
...damit Du einen absoluten Startausgangspunkt hast
popd \\RDSH1\meinVerzeichnis\
...damit wird die Freigabe auf dem Server mit einem freien Laufwerksbuchstaben assoziiert und auch direkt dorthin gewechselt.
copy meineDatei.txt c:\users\documents\
Damit sollte die Datei von der Freigabe auf Deinen Client kopiert werden.
pushd
Meldet das zuvor mit popd gemappte Laufwerk wieder ab.

Probiere mal, ob das funktioniert.

Hallo beidermachtvongreyscull,

vielen Dank für Deinen Tipp!

Habe in der RDP-Session cmd gestartet und dort Deine Befehle eingegeben

--> Meldung: Das System kann die angegebene Datei nicht finden.

Ach ja, keine Ahnung ob das relevant ist ....

bei \\RDSH1 ist "meinVerzeichnis" eine Verzeichnisfreigabe auf \\RDSH1

In der RDP-Session erscheint mit RDSH1 als Netzwerk-"Rechner"
und Austausch wird dann zu c:\Austausch

Vielleicht noch eines ...

Der Rechner "PC1" steht im HomeOffice (local) und auf dem wird die Batchdatei gestartet. Die baut dann (WLAN) die Verbindung zur RDP-Session (Firma) auf.

LG Michael