2009-06-23 3 views
7

Per lavoro mi sto spostando su Windows dopo essere stato su Linux per un bel po '. Voglio ottenere alcune capacità di scripting per le attività amministrative in Windows. Sto abbastanza bene con bash, ma le "librerie/strumenti" di bash mancano molto quando si tratta di Windows. Vedo script, wsh, powershell, cmd, jscript, ecc. E mi chiedo cosa imparare, o quale combinazione di cose. Sto anche imparando. Net così potrebbe essere bello se aiuta con quello, ma non è un requisito.provenienti da bash, quale linguaggio di scripting di Windows per imparare?

risposta

1

VBScript, batch e PowerShell sono i grandi che riesco a pensare. Inoltre, scopri come funziona WMI e come puoi chiamarlo da VBScript/PowerShell.

12

Se stai imparando .NET, Powershell è l'unica scelta. VBScript è in giro da molto più tempo e quindi ci sono probabilmente più esempi e esempi per VBScript. Ma Powershell è il luogo in cui Microsoft si sta concentrando per lo scripting per il futuro. È incluso in WS2008 (R2), sarà in Win 7 e può essere aggiunto a Vista o WS2003 o WS2008. Powershell è strategico. Lo trovo molto più potente di VBScript.

Anche la comunità attorno a Powershell sta aumentando. Solo un esempio: se vai su powershell.com puoi iscriverti a un "suggerimento Powerhell del giorno" inviato via email.

Per quanto riguarda l'intersezione .NET - Powershell può caricare assembly .NET e chiamarli, quindi le due cose saranno molto complementari.

+0

Grazie, notato. – Cheeso

6

Powershell, nessuna domanda a riguardo se si sta per amministrare un ambiente 2008 o successivo. Frequento le conferenze Microsoft e stanno mettendo tutti i loro chip in PowerShell.

4

Cygwin può mantenere le tue capacità di scripting unix rilevanti in un ambiente Windows. Powershell sembra essere il linguaggio di scripting ufficiale di .Net al momento. Tuttavia, non scontare altre opzioni. C'è Ironpython, IronRuby e altri. Molti dei linguaggi di scripting Java come Groovy possono essere resi operativi in ​​.Net tramite IKVM

5

I secondo i consigli di PowerShell. Gli sviluppatori del team PowerShell erano vecchi mani Unix e in PowerShell vi sono numerose funzionalità simili a Unix.

Qualcosa come Cygwin ti consente di utilizzare direttamente bash, ma non lo consiglio per un paio di motivi. In primo luogo, se sei in un ambiente Windows, PowerShell sarebbe più semplice da gestire per qualcun altro senza la tua esperienza bash. In secondo luogo, l'amministrazione di Windows sarà più semplice in un ambiente in cui è possibile accedere facilmente ai metodi su oggetti WMI, ecc.

PowerShell offre molti vantaggi di una shell Unix tradizionale, ma PowerShell ha un enorme vantaggio: è possibile chiamare metodi sugli oggetti piuttosto che analizzare il testo quando si collegano i comandi. Ogni comando restituisce un oggetto. Vedi Comparing the Unix and PowerShell pipelines.

0

Ho usato molto PowerShell è un linguaggio scipting molto facile e potente, ma non supporta Windows 2000! E mi costringe a installare il runtime di PowerShell su ogni computer in LAN. Per quanto riguarda IronRuby, raccomando BOO - linguaggio piacevole e potente.

2

Sono passato a Linux da alcuni anni, ma di recente ho eseguito alcuni progetti in Windows utilizzando Perl e non posso raccomandarlo abbastanza. Se stai effettivamente scrivendo script, piuttosto che singoli comandi, vale sicuramente la pena di prenderlo in considerazione. Scopri Strawberry Perl. Potresti anche essere in grado di trovare una shell Perl decente che gira sotto perl fragola, nel qual caso potresti usarla anche per i singoli comandi.Partenza http://perldoc.perl.org/perlfaq3.html#Is-there-a-Perl-shell?

E non pensare che Perl non sia buono per lo scripting di Windows. Nei miei progetti recenti, ho scritto script con Outlook ed Excel in Perl usando Win32 :: OLE, e ha funzionato come un incantesimo!