Tool, das eine beliebige Batchdatei in PowerShell konvertiert

9

Gibt es ein Tool, das eine Batch-Datei in ein Powershell-Skript konvertieren kann?

Mein Problem mit Batch-Dateien ist, dass sie nicht über den Taskplaner ausgeführt werden, es sei denn, ich bleibe angemeldet und hoffe, dass eine Konvertierung nach Powershell dies verhindern kann.

Justin Goldberg
quelle
5
Klingt nach einem XY-Problem.
G-Man
Haben Sie versucht, im Taskplaner "Ausführen, ob angemeldet oder nicht" einzustellen?
Crippledsmurf
Ich habe "Ausführen" aktiviert, wenn ich nicht angemeldet bin. Ich verwende möglicherweise eine PowerShell, um die Batch-Datei zu starten.
Justin Goldberg
Ich denke, dass ich eine Aufgabe planen muss, die jeden Tag auf einem anderen Computer ausgeführt wird, der eine RDP-Datei mit einem gespeicherten Kennwort startet, um auf dem ersten Computer angemeldet zu bleiben. Ich habe gehört, dass dies durch Microsoft verursacht wird, das Sicherheit für Sitzung 0 in Windows Vista und neueren Versionen hinzufügt. Die Ironie ist, dass die Problemumgehungen die Sicherheit verringern: Ich muss auf einem anderen Computer angemeldet bleiben, um die Aufgabe auszuführen, die sich bei dem Computer anmeldet, auf dem diese Aufgaben ausgeführt werden.
Justin Goldberg
Es gibt noch andere Optionen, die ich noch nicht ausprobiert habe: "versteckt laufen".
Justin Goldberg

Antworten:

3

Um Batch-Dateien extern von Powershell auszuführen oder zu konvertieren (insbesondere, wenn Sie alle geplanten Task-Skripte mit einem Zertifikat signieren möchten), erstelle ich einfach ein Powershell-Skript, z. B. deletefolders.ps1

Geben Sie Folgendes in das Skript ein:

cmd.exe / c "rd / s / q C: #TEMP \ test1"

cmd.exe / c "rd / s / q C: #TEMP \ test2"

cmd.exe / c "rd / s / q C: #TEMP \ test3"

* Jeder Befehl muss erneut in eine neue Zeile mit dem Namen cmd.exe eingefügt werden.

Dieses Skript kann jetzt von Powershell signiert und ausgeführt werden, wobei die Befehle direkt an die Eingabeaufforderung / cmd ausgegeben werden.

Eine viel sicherere Methode, als Batch-Dateien auszuführen!

DoComputing
quelle
0

Dies ist leicht zu beheben. Erstellen Sie eine Gruppe und einen Benutzer in dieser Gruppe als Dienstkonto. Eigentlich habe ich meinen service.account angerufen. Führen Sie die Aufgabe als dieser Benutzer aus. Egal, was Sie verwenden, Batch, VB, Powershell, etc., es wird ausgeführt. Jetzt müssen Sie das Konto einrichten, um sicherzustellen, dass es nicht von einer anderen Person verwendet wird, und dabei Richtlinien und einige sehr einfache Methoden anwenden. Verwenden Sie ein Anmeldeskript für das Konto, das protokolliert, wann dieses Konto verwendet wird, wo es verwendet wird und zu welcher Uhrzeit usw. Richten Sie ein Skript ein, das dieses Protokoll sammelt und speichert (am besten ist gerader Text) und nach einem Löschvorgang erstellt bestimmtes Alter. Es dauert ein wenig zu beobachten, aber Sie werden wissen, ob es verwendet wird. Teilen Sie Ihre Aufgabenkontoinformationen nicht mit JEDEM, der sie nicht unbedingt benötigt. Meine Techniker wussten nicht, was meine waren. Weil wir alle an einem frühen Punkt in der Box Systemsicherheit nennen,

user258203
quelle
Ich gehe davon aus, dass Sie die anderen Teile von all dem kennen.
user258203
Außerdem habe ich damals bat2exe und molebox pro verwendet, um eine verschlüsselte, gepackte exe zu erstellen. Molebox Pro ist ein sehr nützliches Programm.
user258203
1
Der Typ, der Folgendes gepostet hat: "Um Batch-Dateien extern von Powershell auszuführen oder zu konvertieren (insbesondere, wenn Sie alle geplanten Task-Skripte mit einem Zertifikat signieren möchten), erstelle ich einfach ein Powershell-Skript, z. B. deletefolders.ps1. Geben Sie Folgendes in das Skript ein: A viel sicherer als Batch-Dateien! " ist sehr schlau ..... das ist eine großartige Möglichkeit, die Skripte auszuführen ... gute Idee ...!
user258203