2009-06-23 2 views
7

Für die Arbeit gehe ich zu Windows über, nachdem ich eine ganze Weile Linux benutzt habe. Ich möchte einige Skriptfähigkeiten für administrative Aufgaben in Windows bekommen. Ich bin ziemlich gut mit bash, aber die "Bibliotheken/Tools" von bash fehlen sehr, wenn es um Windows geht. Ich sehe vbscript, wsh, powershell, cmd, jscript usw. und frage mich, was ich lernen soll oder welche Kombination von Dingen. Ich lerne auch .net, also könnte es nett sein, wenn es dabei hilft, aber es ist keine Voraussetzung.kommen aus Bash, welche Windows-Skriptsprache zu lernen?

Antwort

1

VBScript, Batch und Powershell sind die großen, die ich mir vorstellen kann. Erfahren Sie außerdem, wie WMI funktioniert und wie Sie es über VBScript/Powershell aufrufen können.

12

Wenn Sie .NET lernen, ist Powershell die einzige Wahl. VBScript gibt es schon viel länger, und so gibt es wahrscheinlich noch mehr Beispiele und Beispiele für VBScript. Mit Powershell konzentriert sich Microsoft jedoch auf das Scripting für die Zukunft. Es ist in WS2008 (R2) enthalten, es wird in Win 7 sein und es kann zu Vista oder WS2003 oder WS2008 hinzugefügt werden. Powershell ist strategisch. Ich finde es viel mächtiger als VBScript.

Auch die Community rund um Powershell wächst. Nur ein Beispiel: Wenn Sie zu powershell.com gehen, können Sie sich für einen "Powershell Tipp des Tages" anmelden, der in einer E-Mail gesendet wurde.

Wie für .NET Kreuzung - Powershell kann .NET-Assemblys laden und in sie aufrufen, so dass die beiden Dinge sehr komplementär sein werden.

+0

Danke, vermerkt. – Cheeso

6

Powershell, keine Frage, wenn Sie eine Umgebung 2008 oder später verwalten werden. Ich besuche Microsoft-Konferenzen und sie packen alle ihre Chips in Powershell.

4

Cygwin können Sie Ihre Unix-Skriptfähigkeiten in einer Windows-Umgebung relevant halten. Powershell scheint momentan die offizielle .Net-Skriptsprache zu sein. Riskieren Sie jedoch keine anderen Optionen. Es gibt Ironpython, IronRuby und andere. Viele der Java-Skriptsprachen wie Groovy können unter .Net über IKVM

5

in Betrieb genommen werden. Ich werde die PowerShell-Empfehlungen sekundieren. Die Entwickler im PowerShell-Team waren alte Unix-Hände, und in PowerShell gibt es eine Reihe von Unix-ähnlichen Funktionen.

So etwas wie Cygwin würde Sie Bash direkt verwenden lassen, aber ich würde es aus mehreren Gründen nicht empfehlen. Erstens, wenn Sie sich in einer Windows-Umgebung befinden, wäre PowerShell einfacher für jemand anderen, ohne Ihre Bash-Erfahrung zu verwalten. Zweitens wird die Windows-Administration in einer Umgebung einfacher, in der Sie einfach auf Methoden auf WMI-Objekten usw. zugreifen können.

PowerShell hat viele Vorteile einer traditionellen Unix-Shell, aber PowerShell hat einen großen Vorteil: Sie können anrufen Methoden für Objekte, anstatt Text zu analysieren, wenn Sie Befehle zusammenführen. Jeder Befehl gibt ein Objekt zurück. Siehe Comparing the Unix and PowerShell pipelines.

0

Ich benutze PowerShell sehr, es ist sehr einfach und leistungsfähige Skriptsprache, aber es unterstützt nicht Windows 2000! Und es zwingt mich, Powershell-Laufzeit auf jedem Computer im LAN zu installieren. Wie für IronRuby empfehle ich BOO - nette und mächtige Sprache.

2

Ich bin schon seit ein paar Jahren auf Linux umgestiegen, aber ich habe kürzlich ein paar Projekte in Windows mit Perl gemacht und kann es nicht genug empfehlen. Wenn Sie Skripte schreiben und nicht einzelne Befehle, ist es eine Überlegung wert. Check out Erdbeer Perl. Sie könnten sogar eine anständige Perl-Shell finden, die unter Erdbeer-Perl läuft, in diesem Fall könnten Sie sie auch für Single-Command-Sachen verwenden.Auschecken http://perldoc.perl.org/perlfaq3.html#Is-there-a-Perl-shell?

Und denken Sie nicht, dass Perl nicht für das Scripting von Windows-Sachen gut ist. In meinen letzten Projekten habe ich sowohl mit Outlook als auch Excel in Perl mit Win32 :: OLE geschrieben und es funktioniert wie ein Zauber!