Batch-Skripte in PowerShell umwandeln

Mitglied: ZTommy

ZTommy (Level 1) - Jetzt verbinden

01.10.2020 um 15:15 Uhr, 644 Aufrufe, 23 Kommentare

Hallo liebe Gemeinde

gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?

mein Problem ist, ich habe ein Server bekommen.
Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.

Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.

Daher die frage, ob man dies eventuell automatisiert umwandeln kann.

Danke und Grüße
Mitglied: window
01.10.2020, aktualisiert um 15:59 Uhr
Moin.
Nein, vollkommen automatisiert gibt es das nicht, dazu sind die Scripting-Möglichkeiten zu vielfältig, und wenn, wie solltest du auf sicherlich irgendwo auftauchende Probleme regieren können wenn du nicht das entsprechende Wissen vorweisen kannst? Es bleibt dir nur dir das nötige Wissen anzueignen, dann eine Script-Sprache zu verwenden die du beherrschst wenn du der Verantwortliche dafür bist, oder jemanden einzustellen der die Arbeit für euch vornimmt und am besten gleich auch gut dokumentiert.

Für simple Skript-Schnitzel kann man sicherlich Converter/Parser programmieren, aber wenn die Skripte komplexe Abläufe abarbeiten wird das fast unmöglich zu automatisieren.
Außerdem gibt es in Powershell viel mehr Möglichkeiten Dinge effizienter abzuarbeiten als mit Batch-Algorithmen. Das einfach nachahmen
von Batch Schritten würde also meist zu sehr ineffektiven PS Skripten führen.

Gruß
W.
Bitte warten ..
Mitglied: TK1987
01.10.2020 um 15:46 Uhr
Moin,

Zitat von ZTommy:
gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?
Nein, gibt es nicht und macht aus diversen Gründen auch überhaupt keinen Sinn.

mein Problem ist, ich habe ein Server bekommen.
Dort laufen mehrere Batch-Skipte täglich ab.
Dies soll nun durch PowerShell ersetzt werden.
Und weil es so schön ist, natürlich zeitnah.
Wo ist das Problem? Wenn die Batch-Skripte derzeit fehlerfrei laufen, immer eins nach dem anderen umschreiben und austauschen; und die anderen so lange weiter laufen lassen.
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.
Dabei können wir dir ja zur Not helfen.

Gruß Thomas
Bitte warten ..
Mitglied: mbehrens
01.10.2020 um 15:56 Uhr
Zitat von ZTommy:

gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?

Ja.


Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.

Daher die frage, ob man dies eventuell automatisiert umwandeln kann.

Nein, zur Zeit nicht.

Programmieren ist Arbeit.
Bitte warten ..
Mitglied: Doskias
01.10.2020 um 16:32 Uhr
Moin Tommy,

die Frage ist ja: Warum sollen die Skripte von Batch zu PowerShell wandern. In welcher Form der Befehl ausgeübt wird, ist da in meinen Augen recht egal. Batch wird genau so unterstützt wie Powershell, allerdings gibt bei Powershell einiges zu beachten was konfiguriert werden muss. Stichwort ExecutionPolicy. Einige Batch-Befehle funktionieren 1:1 in Powershell. Aber es macht keinen Sinn die Skripte einfach umzuschreiben ohne die Funktionen von Powershell zu nutzen.

Wenn es bei euch in der Firma niemanden gibt, der das kann, dann empfehle ich Schulung, einschlägige Webseiten und Bücher um PS zu lernen und zu verstehen, bevor du dich daran machst die Skripte umzuschreiben.

Mein Tipp:
Nimm dir einfach ein Skript und versuche das was das Skript macht in Powershell umzusetzen. Dann hast du (a) ein realistisches Ziel und (b) kennst du das Ergebnis durch dein BATCH-Skript ja schon und kannst diese vergleichen.
Bitte warten ..
Mitglied: erikro
01.10.2020, aktualisiert um 19:05 Uhr
Moin,

Zitat von ZTommy:
gibt es die Möglichkeit vorhandene Batch-Skripte in PowerShell zu konvertieren?

Frage: Gibt es eine Möglichkeit, meinen Golf I in einen aktuellen Ferrari umzuwandeln?
Antwort: Ja, verschrotte den Golf und kaufe einen Ferrari.

Und so ist es auch mit Batch und Powershell. Batch wird verschrottet und alles in der PS neu programmiert (wenn es denn sein muss).

Liebe Grüße

Erik
Bitte warten ..
Mitglied: ZTommy
05.10.2020 um 12:33 Uhr
Hallöchen

ich antworte mal weiter unten für alle, um zu erklären warum das ganze.
Bitte warten ..
Mitglied: ZTommy
05.10.2020 um 12:33 Uhr
Hallöchen

ich antworte mal weiter unten für alle, um zu erklären warum das ganze.
Bitte warten ..
Mitglied: ZTommy
05.10.2020 um 12:34 Uhr
Hallöchen

ich antworte mal weiter unten für alle, um zu erklären warum das ganze.
Bitte warten ..
Mitglied: window
05.10.2020, aktualisiert um 12:36 Uhr
Zitat von ZTommy:

Hallöchen

ich antworte mal weiter unten für alle, um zu erklären warum das ganze.
Tourette? Dreimal hält besser oder wie??
Bitte warten ..
Mitglied: ZTommy
05.10.2020 um 12:45 Uhr
Hallöchen

erstmal einen schönen Dank an alle, die geantwortet haben.
Sorry vorab, das ich jetzt erst antworte.
Mich hat es Donnterstag Abend mit ner magen-Darm Infektion aus den Latschen gehauen.
Es geht gerade wieder etwas.

Der Gund der Umstellung ist, es wird auf dem Server Software genutzt, die so nicht sein sollte.
Ein bekanntes Entpackungstool, was hier jedem bekannt sein sollte und als Freeware sich jeder runterladen kann.
Dieses Entpackungstool wurde quasi mit in die Batch-Skripte eingebaut bzw. Batch-Skript.
Da es nicht Regelkonvorm ist, muss dies nun durch Serverseitige bzw. Windowsseitige umgestellt werden.

In einem Skript wird nun gesagt, entpacke mir die entsprechenden Dateien in ein bestimmtes Verzeichenis.
Anschließend werden in dem Skript weitere Verarbeitungen vorgenommen.
Alles in allem ist die Entpackung verschiedenster Dateien in dem Batch fest eingebaut.
Einfach so rausnehmen und für sich nur als PowerShell befehl das zu schreiben, glaube ich, macht kein Sinn.
Wüsste jetzt auch nicht wie.
Aber da ich das eh anfassen muss, kann ich auch das gleich komplett umstellen.
es gibt 2 Bacht-Skripte.
Eins ist etwas kleiner und eins, wo die Entpackung stattfindet, ist das umangreiche Skript.

Aktuell ist das ein 2012R2 Windows-Server.
Da man auch hier irgendwann zwecks Windows Support bzw. Alter umziehen muss, ist es meines Erachtens Sinnvoller, dass generell auf PowerShell umzuschreiben.

Grüße
Bitte warten ..
Mitglied: window
05.10.2020, aktualisiert um 13:01 Uhr
Ändert ja nichts, entweder selber in die Materie einarbeiten oder jemanden ins Boot holen der dir das umschreibt.
Bitte warten ..
Mitglied: TK1987
05.10.2020 um 14:54 Uhr
Moin,

Zitat von ZTommy:
Ein bekanntes Entpackungstool, was hier jedem bekannt sein sollte und als Freeware sich jeder runterladen kann.
Da kommen einige infrage, warum so kryptisch?! Nenn doch mal einen Namen.
Dieses Entpackungstool wurde quasi mit in die Batch-Skripte eingebaut bzw. Batch-Skript.
Du scheinst ein Grundverständnisproblemm zu haben: Externe Programme geben immer die Syntax vor!

Das heisst: Wenn du ein Externes Programm wie z.B. 7zip zum entpacken nutzt, ist der Befehl ist immer gleich - ganz egal ob du diesen nun über CMD oder Powershell ausführst. Angepasst werden müssen da nur die Variablen, sofern denn überhaupt welche genutzt wurden.

Gruß Thomas
Bitte warten ..
Mitglied: Doskias
05.10.2020, aktualisiert um 16:09 Uhr
Einfach so rausnehmen und für sich nur als PowerShell befehl das zu schreiben, glaube ich, macht kein Sinn.
Wüsste jetzt auch nicht wie.

Kommt drauf an. Wenn es 7zip Archive sind, scheiterst du vermutlich ohne Zusatzsoftware.
Wenn es allerdings Zip-Archive sind lauten die magischen Worte in Powershell:
Bitte warten ..
Mitglied: ZTommy
06.10.2020 um 16:28 Uhr
Macht der gewohnheit. Ja, es ist 7Zip.
Das muss runter.

Ja, es sind viele Variablen, die angepasst werden müssen zur Verarbeitung.

Grüße
Bitte warten ..
Mitglied: ZTommy
06.10.2020 um 16:30 Uhr
Ist es denn überhaupt möglich, aus einer Batch ein PowerShell-Skript zu starten?
Wenn ja, würde es je erst einmal reichen, das anzupassen.
Dann habe ich etwas Luft, dass ganze Skript für PowerShell anzupassen.

Grüße
Bitte warten ..
Mitglied: Doskias
06.10.2020, aktualisiert um 16:45 Uhr
startet das Skript. Aber mit den Rechten des Users. Es ersetz praktisch nur das Rechte Maustaste, ausführen als.

Gewonnen hast du damit allerdings überhaupt nichts. Das Skript ist das gleiche und /Zip brauchst du weiterhin.
Bitte warten ..
Mitglied: ZTommy
07.10.2020 um 09:47 Uhr
danke Dir.

Ok, dann komme ich wohl nicht drumherum, dass komplett anfassen zu müssen...

Oder hilft es, den Step zum entpacken auszubauen und dann von dem Batch-Skript aus auf die PowerShell zu verweisen?
Mit PowerShell ist ja entpacken ohne 7Zip möglich.

Grüße
Bitte warten ..
Mitglied: Doskias
07.10.2020 um 10:52 Uhr
Zitat von ZTommy:
Ok, dann komme ich wohl nicht drumherum, dass komplett anfassen zu müssen...
da ich das Skript nicht kenne, kannst du vielleicht einige Teile beibehalten. Macht aber wenig Sinn-

Oder hilft es, den Step zum entpacken auszubauen und dann von dem Batch-Skript aus auf die PowerShell zu verweisen?
Mit PowerShell ist ja entpacken ohne 7Zip möglich.

Wenn deine Aufgabe "Die Batch-Skripte ersetzen" ist, dann musst du wohl oder üble es nach PS portieren und neu schreiben. Wenn die Aufgabe allerdings ist 7Zip loszuwerden, dann könntest du (theoretisch) einen Teil in BATCH lassen und einen Teil nach PS portieren (wie das entpacken. Da ich aber deine Skripte nicht kenne und bestimmt nach dem Entpacken noch was kommt, wäre die Reihenfolge dann sicher BATCH -> PS -> Batch. Das Ganze wird in Summe dann komplizierten zu betreuen. Und wie du sagtest:

Zitat von ZTommy:
Da ich die Skripte nicht geschrieben habe, stehe ich da auch vor ein Problem bzgl. fehlendem Wissen, sei es batch oder PowerShell.

Also Um deine Frage zu beantworten: Kann man so machen, kann man aber auch gleich richtig machen und nach PS bringen. Mach es selbst, schreib Sie per Hand, lass dir hier helfen. Du lernst eine Menge und du weißt was die Skripte machen, was dir Änderungen und Fehlersuche deutlich erleichtert. Und ja, dauert länger

Gruß
Doskias
Bitte warten ..
Mitglied: ZTommy
07.10.2020 um 14:25 Uhr
Hallo Doskias,

danke für deine Antwort

Die Aufgabe ist, 7Zip loszuwerden.
Und ja, der Ablauf wäre Batch -> PS -> Batch.

Den Ablauf des entpackens könnte ich hier mal reinstellen.

Aber nicht desto trotz, werde ich alles komplett umschreiben müssen.
PS hat sicherlich mehr funktionen, die einem später mehr helfen würden als Batch.

Zeitlich gesehen ist 7Zip loszuwerden aber erstmal prio.
Das gesamte umzuschreiben würde theoretisch danach erfolgen, aber ohne zeitlichem Druck.

Grüße Tommy
Bitte warten ..
Mitglied: erikro
07.10.2020 um 19:47 Uhr
Moin,

für Dein Vorhaben lies mal diesen Beitrag:
https://administrator.de/tutorial/powershell-skripte-datei-kontextmen%C3 ...

Der erklärt, wie Du ein PS-Skript ins Kontextmenü einbindest. Mach es rein mit Powershell, wenn Du es neu machen willst. Alles andere wäre Murks. Das ist zwar mehr Aufwand. Aber Du wirst die Powershell genauso lieben, wie Du jetzt das Batchprogrammieren hasst.

Liebe Grüße

Erik
Bitte warten ..
Mitglied: ZTommy
08.10.2020 um 09:41 Uhr
Danke Dir

Naja, bzgl. lieben, das wird dann wohl ne sehr große Liebe, wenn ich das hasse
Bitte warten ..
Mitglied: erikro
08.10.2020 um 20:49 Uhr
Zitat von ZTommy:

Danke Dir

Naja, bzgl. lieben, das wird dann wohl ne sehr große Liebe, wenn ich das hasse

Wer die Batch nicht hasst, ist entweder über 65 oder Masochist.
Bitte warten ..
Heiß diskutierte Inhalte
Windows Server
Hyper-V Server vs Datacenter?
holliknolliFrageWindows Server26 Kommentare

Hallo, hat jemand Erfahrung mit dem - kostenlosen - Hyper-V-Server? Ich meine, warum teure Lizenzen für Datacenter zahlen, wenn ...

LAN, WAN, Wireless
Spanning Tree Probleme
gelöst predator66FrageLAN, WAN, Wireless12 Kommentare

Hallo, wir haben hier eigenartige Spanningtree Probleme, die wir zur Zeit nicht gelöst bekommen: New Root Port MAC ist ...

Exchange Server
Zustellbestätigung deaktivieren
defiant01FrageExchange Server10 Kommentare

Hallo, ich stehe vor der Aufgabe bei einem Postfach die Zustellbestätigung für eingehende Mails zu deaktivieren. Der User geht ...

Notebook & Zubehör
Business Support HP, Dell, Lenovo etc
fuzzyLogicFrageNotebook & Zubehör10 Kommentare

Moin, ich arbeite derzeit fast ausschließlich mit HP und frage mich wie es auf Support Baustelle bei anderen Herstellern ...

E-Mail
Ticketsystem mit mailflow
CraftdorFrageE-Mail8 Kommentare

Hallo, Ich bin auf der Suche nach einem Ticketsystem das am besten Freeware ist und einfach nur eine Ankommende ...

Netzwerkgrundlagen
PfSense Virtuele IP mit NAT auf eine IP im VLAN90 zum VLAN30
OIOOIOOIOIIOOOIIOIIOIOOOFrageNetzwerkgrundlagen8 Kommentare

Guten Tag, ich stehe hier mit einer neuen Herausforderung. Hab ein Internetradio, welches jedoch nur mit eine App gesteuert ...

Ähnliche Inhalte
Batch & Shell
PS-Skript in Batch umwandeln
gelöst robdoxFrageBatch & Shell16 Kommentare

Hallo zusammen, ich stehe wieder vor einem Problem, welches mir enorme Zeit raubt. Durch ein externes Softwareprogramm, muss ein ...

Batch & Shell
Batch Skript ins Powershell
gelöst BudSpenserFrageBatch & Shell9 Kommentare

Hallo erstmal Ich habe ein Batch Skript, was mit bestimmten Wörtern in der LETZTEN Logdatei des gewünschten Dateipfads sucht. ...

Batch & Shell
Powershell Skript fehlerhaft?
SpeakerSTFrageBatch & Shell3 Kommentare

Hallo, ich habe mir ein Powershell Skript geschriebe was bisher auch immer funktioniert hat aber unter einem Windows Server ...

Batch & Shell
Powershell CHAT Skript
gelöst xpxy15FrageBatch & Shell5 Kommentare

Hallo Zusammen Ich möchte gerne ein Skript schreiben. Mit dem man in Lokalen Netz verschlüsselt "chatten" kann. Meine Frage ...

Batch & Shell
Powershell Skript unsichtbar starten
gelöst paupau90FrageBatch & Shell1 Kommentar

Hallo zusammen, im Augenblick rufe ich Batch Skripte wie folgt auf: invisible.vbs Leider habe ich es noch nicht hinbekommen ...

Windows Server
Powershell Skript Resize Disk
winlinFrageWindows Server20 Kommentare

Ich habe folgenden Zweizeiler und versuche über einen Task Scheduler meine Disk nach dem ersten Neustart zu "resizen". Leider ...

Berechtigungs- und IdentitätsmanagementBerechtigungs- und IdentitätsmanagementWebdienste und -serverWebdienste und -serverDatenbankenDatenbankenMonitoring & SupportMonitoring & SupportHybrid CloudHybrid CloudSmall Business ITSmall Business IT