Da mich meine jüngsten Experimente in die Tiefen von PowerShell und .NET-Aufrufen geführt haben, muss ich sagen, dass PowerShell kann Cygwin und Unix-Shell ersetzen.
Bei Perl bin ich mir nicht sicher, aber da sowohl PowerShell als auch Perl als Programmiersprachen Turing-komplett sind, würde ich auch Perl durch diese Sprache ersetzen.
Eine Sache, die PowerShell Cygwin und der gewöhnlichen Bash unter *nix voraus hat, ist die Fähigkeit, DLL-Aufrufe im Sandkasten durchzuführen und das Betriebssystem über direkte API-Aufrufe, WMI-Methoden und sogar COM-Objekte zu manipulieren. Wie wäre es, den Internet Explorer per Code zu starten und dann mit dem angezeigten Dokument zu tun, was Sie wollen, und so effektiv ein Back-End für einen Webserver zu emulieren?
Wie wäre es, Daten von SQL-Servern und anderen Datenanbietern zu sammeln, sie zu parsen und als CSV, E-Mail-Nachrichten, Text und eigentlich jede Art von existierenden und nicht existierenden Dateiformaten zu exportieren? (Mit den richtigen Fähigkeiten zur Erstellung einer gültigen Datei aus den erhaltenen Daten, natürlich, aber CSV sind leicht verfügbar).
Und es gibt eine zusätzliche Sicherheit durch signierte Cmdlets und Skripte, Gruppenrichtlinien und Ausführungsrichtlinien, die verhindern, dass bösartiger Code auf Ihrem System ausgeführt wird, selbst wenn Sie sie als Administrator ausführen.
Welche Befehle implementiert sind - die Antwort von Richard listet sie auf und die Fähigkeit von PowerShell, ihre Funktionalität bereits zu emulieren.
Ob PowerShell stark genug ist, um einen Wechsel zu rechtfertigen, ist eher eine Frage der persönlichen Vorlieben. Da jedoch immer mehr Windows-Dienste PowerShell-Cmdlets zu ihrer Steuerung bereitstellen, wird die Nichtverwendung von PowerShell bei diesen Diensten als Hindernis angesehen. (Hyper-V-Server ist der wichtigste Dienst dieser Art, und er bietet auch die Möglichkeit, mehr mit PowerShell-Cmdlets als mit der grafischen Benutzeroberfläche zu tun!)
Wahrscheinlich kommt diese Antwort fünf Jahre zu spät, aber wenn jemand Verwaltungsaufgaben oder allgemeine Skripterstellung unter Windows durchführt, sollte er auf jeden Fall versuchen, die PowerShell für seine Zwecke zu nutzen.