Zum Inhalt wechseln


Foto

Löschen mit PowerShell


  • Bitte melde dich an um zu Antworten
10 Antworten in diesem Thema

#1 %_Darwin_%

%_Darwin_%

    Newbie

  • 5 Beiträge

 

Geschrieben 24. Mai 2017 - 09:24

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 -verbose
Remove-Item "\\Server_2\Ordner_1\Ordner_2\*" -Recurse -force -verbose

Remove-Item "\\Server_3\Ordner_1\Ordner_2\*" -Recurse -force -verbose
Remove-Item "\\Server_4\Ordner_1\Ordner_2\*" -Recurse -force -verbose

Remove-Item "\\Server_5\Ordner_1\Ordner_2\*" -Recurse -force -verbose
Remove-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

 



#2 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 24. Mai 2017 - 09:28

Hier gibt es verschiedene Möglichkeiten.

Workflows, Jobs, Threads

 

Am Einfachsten werden fürs erste die Jobs sein.

 

https://msdn.microso...bout/about_jobs

https://www.howtogee...-in-powershell/

 

Für die anderen Möglichkeiten:

https://blogs.techne...ith-powershell/


Stop making stupid people famous.


#3 Cybquest

Cybquest

    Expert Member

  • 1.882 Beiträge

 

Geschrieben 24. Mai 2017 - 09:30

Such mal nach "Invoke-Async"


My name is Frank, you can say you to me.

#4 testperson

testperson

    Board Veteran

  • 4.511 Beiträge

 

Geschrieben 24. Mai 2017 - 09:32

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


Good morning, that's a nice TNETENNBA!

#5 %_Darwin_%

%_Darwin_%

    Newbie

  • 5 Beiträge

 

Geschrieben 24. Mai 2017 - 10:45

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?



#6 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 24. Mai 2017 - 10:48

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.


Stop making stupid people famous.


#7 testperson

testperson

    Board Veteran

  • 4.511 Beiträge

 

Geschrieben 24. Mai 2017 - 11:06

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 ;)


Good morning, that's a nice TNETENNBA!

#8 %_Darwin_%

%_Darwin_%

    Newbie

  • 5 Beiträge

 

Geschrieben 24. Mai 2017 - 11:18

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:



#9 testperson

testperson

    Board Veteran

  • 4.511 Beiträge

 

Geschrieben 24. Mai 2017 - 11:21

Wir selber betreuen die Citrix Umgebung nicht.

Manchmal Häufig hilft es einfach miteinander zu reden :)


Good morning, that's a nice TNETENNBA!

#10 Dukel

Dukel

    Board Veteran

  • 9.252 Beiträge

 

Geschrieben 24. Mai 2017 - 11:23

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.


Stop making stupid people famous.


#11 daabm

daabm

    Expert Member

  • 2.106 Beiträge

 

Geschrieben 09. Juni 2017 - 17:00

...und wenn man ROBOCOPY /MIR nutzt (kann man per PowerShell Invoke-Async ja auch starten...) dann muß man vorher auch nix löschen.


Greetings/Grüße, Martin

Mal ein gutes Buch über GPOs lesen? Oder ein kleines, aber feines Blog darüber?

Und wenn mir die IT mal auf die Nerven geht - coke bottle design refreshment (-: