CMD: Unterschiede bei cmd Dateien in der Ausführung
Hallo zusammen
Ich habe gerade ein kleines Verständnisproblem.
Durch ein Powershell Skript habe ich mir etliche .cmd Dateien erstellen lassen, mit folgendem Inhalt:
Wenn ich diese ausführe passiert genau nix.
(Ok, die cmd blitzt kurz auf und verschwindet direkt wieder ohne etwas zu machen)
Wenn ich die Datei von Hand erstelle, und den gleichen Befehl eintrage, dann werde ich nach meinem Passwort gefragt und die Applikation startet.
Wo genau ist der Unterschied zwischen einer manuell und Skript erzeugten cmd Datei?
Was mache ich falsch?
Danke im voraus
Ralf
Ich habe gerade ein kleines Verständnisproblem.
Durch ein Powershell Skript habe ich mir etliche .cmd Dateien erstellen lassen, mit folgendem Inhalt:
@echo off
runas /user:dom.de\admin.xxx"C:\Program Files (x86)\xxx\yyy\zzz.exe"
Wenn ich diese ausführe passiert genau nix.
(Ok, die cmd blitzt kurz auf und verschwindet direkt wieder ohne etwas zu machen)
Wenn ich die Datei von Hand erstelle, und den gleichen Befehl eintrage, dann werde ich nach meinem Passwort gefragt und die Applikation startet.
Wo genau ist der Unterschied zwischen einer manuell und Skript erzeugten cmd Datei?
Was mache ich falsch?
Danke im voraus
Ralf
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 369362
Url: https://administrator.de/contentid/369362
Ausgedruckt am: 22.11.2024 um 19:11 Uhr
10 Kommentare
Neuester Kommentar
Die Frage ist: Wie generiest du die .cmds in Powershell?
Mit dem cmdlet "Out-File" kann man mit dem Parameter -encoding, überraschung, encoding auswählen
siehe hier:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Das Problem ist das die alte Kommandozeile einen legasthenischen touch hat und nicht alle encodings versteht - z.B. bist du mit ASCII auf der sicheren seite, während UFT8/32 problematsich ist
Mit dem cmdlet "Out-File" kann man mit dem Parameter -encoding, überraschung, encoding auswählen
siehe hier:
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell. ...
Das Problem ist das die alte Kommandozeile einen legasthenischen touch hat und nicht alle encodings versteht - z.B. bist du mit ASCII auf der sicheren seite, während UFT8/32 problematsich ist
Das sind keine obskuren Sonderzeichen, sondern das ist UTF8 mit BOM.
BOM = Byte Order Mark
Siehe auch https://de.wikipedia.org/wiki/Byte_Order_Mark
Dient dazu, das das System erkennen kann, ob es Big- oder Little-Endian kodiert ist.
Das die Kommandozeile damit nicht kann, aber Powershell es im Standard benutzt, ist halt typisch MS.
BOM = Byte Order Mark
Siehe auch https://de.wikipedia.org/wiki/Byte_Order_Mark
Dient dazu, das das System erkennen kann, ob es Big- oder Little-Endian kodiert ist.
Das die Kommandozeile damit nicht kann, aber Powershell es im Standard benutzt, ist halt typisch MS.