%_Darwin_% 0 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Hallo zusammen, so jetzt werde ich mich auch einmal mit der PowerShell anfreunden :-) Ich muss regelmäßig Dateien auf Citix Servern austauschen. Bis jetzt mache ich es immer händisch was aber bestimmt auch bequemer über ein PowerShell Script geht. Zunächst sollen alle Dateien und Verzeichnisse aus einem Hauptverzeichnis gelöscht werden. Remove-Item "\\Server_1\Ordner_1\Ordner_2\*" -Recurse -force -verboseRemove-Item "\\Server_2\Ordner_1\Ordner_2\*" -Recurse -force -verbose Remove-Item "\\Server_3\Ordner_1\Ordner_2\*" -Recurse -force -verboseRemove-Item "\\Server_4\Ordner_1\Ordner_2\*" -Recurse -force -verbose Remove-Item "\\Server_5\Ordner_1\Ordner_2\*" -Recurse -force -verboseRemove-Item "\\Server_6\Ordner_1\Ordner_2\*" -Recurse -force -verbose ...... ... Wenn ich das Script so starte löscht es erst alle Dateien am Server 1 dann 2 usw. Wie kann ich es machen, das an allen Servern gleichzeitig die Dateien gelöscht werden? Hoffe ihr habt eine Idee. Gruß, Christian Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Hier gibt es verschiedene Möglichkeiten. Workflows, Jobs, Threads Am Einfachsten werden fürs erste die Jobs sein. https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell.core/about/about_jobs https://www.howtogeek.com/138856/geek-school-learn-how-to-use-jobs-in-powershell/ Für die anderen Möglichkeiten: https://blogs.technet.microsoft.com/uktechnet/2016/06/20/parallel-processing-with-powershell/ Zitieren Link zu diesem Kommentar
Cybquest 36 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Such mal nach "Invoke-Async" Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Hi, was für Daten sind das denn und was ist das genaue Ziel hier? Wäre es evtl. sinnvoll die Daten einfach auf einem Fileserver o.ä zu speicher und somit nur an einem Ort? Gruß Jan Zitieren Link zu diesem Kommentar
%_Darwin_% 0 Geschrieben 24. Mai 2017 Autor Melden Teilen Geschrieben 24. Mai 2017 Also aktuell sind es 9 Citrix Server. Die Daten(ca. 400MB) welche gelöscht werden sollen sind Daten einer Application. Wenn eine neue Version erscheint müssen die alten Dateien zunächst gelöscht werden, ersetzen geht nicht da auch mal neue Dateien hinzukommen bzw. alte wegfallen. Kann man es mit Workflow parallel realisieren? Wie könnte da der Code Snipsel aussehen? Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Codeschnippsel hast du in den angefügten Links. Ich würde aber eher Jobs am Anfang empfehlen. Workflows sind beschränkt, was darüber ausgeführt werden kann, mit Jobs kannst du beliebige Scriptblöcke oder Scripte ausführen. Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 D.h. Ihr nutzt XenApp und stellt Sitzungen und / oder Anwendungen bereit? Wenn du auf allen Servern löschen willst, vermute ich, Ihr nutzt kein PVS oder MCS? Dann solltet Ihr euch PVS und MCS angucken ;) Je nachdem was das für Dateien oder Strukturen sind, könnte man vielleicht über den UPM die Dateien auf einen zentralen Server "ins Profil" synchronisieren / spiegeln und dort an nur einer Stelle löschen. So als evtl. Citrix-Lösungs-Ansatz-Gedanke ;) Zitieren Link zu diesem Kommentar
%_Darwin_% 0 Geschrieben 24. Mai 2017 Autor Melden Teilen Geschrieben 24. Mai 2017 D.h. Ihr nutzt XenApp und stellt Sitzungen und / oder Anwendungen bereit? Wenn du auf allen Servern löschen willst, vermute ich, Ihr nutzt kein PVS oder MCS? Dann solltet Ihr euch PVS und MCS angucken ;) Je nachdem was das für Dateien oder Strukturen sind, könnte man vielleicht über den UPM die Dateien auf einen zentralen Server "ins Profil" synchronisieren / spiegeln und dort an nur einer Stelle löschen. So als evtl. Citrix-Lösungs-Ansatz-Gedanke ;) Klingt nicht schlecht. Das Problem ist, wir haben nur Zugriff auf ein Share am Citrix Server. Wir selber betreuen die Citrix Umgebung nicht. Also muss man sich so eben behelfen. Da die PowerShell für mich neu ist, wird es wohl etwas dauern bis ich am gewünschten Ergebnis angekommen bin. Komme so richtig noch nicht da rein. Muss ich jetzt für jeden Server ein Scriptblock zum löschen erstellen und diese dann parallel als Jobs ausfühen? :confused: :confused: :confused: :confused: :confused: :confused: Zitieren Link zu diesem Kommentar
testperson 1.677 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Wir selber betreuen die Citrix Umgebung nicht. Manchmal Häufig hilft es einfach miteinander zu reden :) Zitieren Link zu diesem Kommentar
Dukel 454 Geschrieben 24. Mai 2017 Melden Teilen Geschrieben 24. Mai 2017 Nein. Du kannst eine Schleife über alle Server machen und in der Schleife die Jobs starten. Entweder du schreibst die Server in eine Variable, in eine Datei, zählst einen Zähler hoch (Wenn die Server einen zähler haben und sich wenig ändern) oder du fragst das AD ab, nach bestimmten Servern (z.B. in einer gruppe, einer Ou oder sonst einem Mechanismus). Teile die Aufgabe in kleinere Teile. Erstelle als erstes eine Schleife und gib nur die benötigten Servernamen aus. Zitieren Link zu diesem Kommentar
daabm 1.354 Geschrieben 9. Juni 2017 Melden Teilen Geschrieben 9. Juni 2017 ...und wenn man ROBOCOPY /MIR nutzt (kann man per PowerShell Invoke-Async ja auch starten...) dann muß man vorher auch nix löschen. Zitieren Link zu diesem Kommentar
Empfohlene Beiträge
Schreibe einen Kommentar
Du kannst jetzt antworten und Dich später registrieren. Falls Du bereits ein Mitglied bist, logge Dich jetzt ein.