Warum sind PS1-Skripte standardmäßig mit Notepad verknüpft?

Warum sind PS1-Skripte standardmäßig mit Notepad verknüpft?

Wenn ich in Windows auf eine .bat- .cmdoder .vbsSkriptdatei (Batch und VBScript) klicke, werden diese von ihren jeweiligen Engines (Eingabeaufforderung und Windows-Skripthost) ausgeführt.

Warum wird die Powershell-Erweiterung .ps1standardmäßig mit Notepad und nicht mit Powershell verknüpft?

Antwort1

Offenbar hat Microsoft versucht, PowerShell standardmäßig als sicher zu gestalten. Obwohl Microsoft dies nirgends explizit erklärt zu haben scheint, sollte diese Einschränkung wahrscheinlich verhindern, dass Benutzer dazu verleitet werden, bösartige Skripte auszuführen und zu verbreiten.

Es gibt eine gute Beschreibung, warum dies gefährlich sein könnteHier:

PowerShell ist im Grunde die Befehlsshell und Skriptsprache, die CMD und Batch-Skripte auf Windows-Systemen ersetzen soll. Ein PowerShell-Skript kann so konfiguriert werden, dass es praktisch alles tut, was Sie manuell über die Befehlszeile tun könnten. Das bedeutet, dass Sie praktisch jede Änderung vornehmen können, die auf Ihrem System möglich ist, bis auf die Einschränkungen, die für Ihr Benutzerkonto gelten. Wenn Sie also einfach auf ein PowerShell-Skript doppelklicken und es mit vollständigen Administratorrechten ausführen könnten, könnte Ihnen ein einfacher Einzeiler wie dieser wirklich den Tag verderben:Get-ChildItem "$env:SystemDrive\" -Recurse -ErrorAction SilentlyContinue | Remove-Item -Force -Recurse -ErrorAction SilentlyContinue Führen Sie den obigen Befehl NICHT aus!

...

Schlimmer noch: Statt ein Skript zu erhalten, das lediglich das Dateisystem des Freundes zerstört, wird er möglicherweise dazu verleitet, ein Skript auszuführen, das einen Keylogger oder einen Fernzugriffsdienst herunterlädt und installiert.

In der Praxis kann Powershell-Code jedoch über eine Datei ausgeführt werden, .batindem der Code einfach als Befehlszeilenargument an Powershell übergeben wird. PowerShell basiert jetzt also aufAMSI(Anti-Malware Scan Interface), um bösartige Skripte zu blockieren. Aus unerklärlichen Gründen wurde die ursprüngliche Einschränkung beibehalten.

verwandte Informationen