quali sono i vantaggi di Powershell rispetto a cygwin / unix-shell


9

L'ovvia differenza di cui sono a conoscenza è la capacità di interfacciarsi con determinati prodotti MS, come Exchange. Ma per chi non deve amministrare tali prodotti, quali sono i vantaggi di Powershell? Quali sono i motivi per imparare Powershell (supponendo che io sia fluente con bash e cygwin)?

Risposte:



18

Il vantaggio più ovvio: fintanto che nessun output di testo (o un comando legacy) è coinvolto in una pipeline, non si sposta il testo attraverso le pipe, ma le istanze di oggetti .NET framework, con tutte le loro proprietà e metodi.

Ciò consente una gestione della pipeline più espressiva e meno ambigua, che non è affatto influenzata dalle impostazioni locali e della lingua (ad esempio, pensa ai formati di data o numero e al modo in cui dovresti trattarli come stringhe normalmente).

Questo significa anche che hai accesso a molte funzionalità del framework .NET in un ambiente di scripting.


6

Senza entrare nel giudizio di valore sul paradigma, i principali vantaggi di PowerShell sono l'integrazione .Net e l'operatore storico - dal server Windows 2008 in poi è raggruppato per impostazione predefinita e viene caricato in service pack su 2003 e 2003 R2.

Ad essere onesti, ci sono molte altre scelte per lo scripting - ad esempio Perl e Python. Python ti dà anche la possibilità di usare IronPython se vuoi l'integrazione nativa .Net. In effetti, IronPython si installerà in modo soddisfacente semplicemente rilasciandolo in una directory. È possibile raggrupparlo banalmente in un'applicazione senza la necessità di una fase di installazione separata.

La forza chiave di Powershell è un po 'un'arma a doppio taglio. Mentre lo streaming di oggetti .net è abbastanza utile e ha i suoi vantaggi, pone molti più presupposti sulla capacità dei componenti di giocare bene con il framework. Perché questo funzioni davvero è necessario avvolgere le cose con i cmdlet. Sebbene l'output testuale sia un po 'più basso livello e richieda l'analisi, comporta un minore onere per i componenti per giocare bene con il framework.

Con il passare del tempo, mi aspetto di vedere molto di più dell'ecosistema Windows (sia MS che componenti di terze parti) con wrapper di cmdlet in modo che funzionino con Powershell. In questo caso, il caso di Powershell diventerà molto più forte.

Storicamente, uno dei principali punti deboli tradizionali di Windows dal punto di vista amministrativo è stato il suo scarso supporto di scripting. MS lo ha riconosciuto diversi anni fa e dopo alcuni tentativi ingannevoli (ad es. WSH) Powershell è lo sforzo più credibile di MS finora per correggere tale carenza.


2

Penso che la più grande vittoria di PowerShell sia che puoi reindirizzare qualsiasi cosa senza dover analizzare il testo e / o grok sed e awk. Senza portare quegli oggetti cattivi nell'equitazione, pensa a PowerShell come a sed e awk automatici per il collegamento di comandi in una pipeline.


2

Vantaggi: -

  1. Automazione di attività: - Attività come l'aggiunta di un utente a 1000 macchine è un lavoro noioso manualmente. Ma con l'aiuto di PowerShell, è necessario scrivere solo uno script semplice e lo script viene eseguito, configurerà automaticamente tutti i client. In questo modo si risparmia tempo ripetendo i passaggi automaticamente. Gli script di backup / ripristino di Windows PowerShell possono essere sviluppati e pianificati (con l'Utilità di pianificazione di Windows), mentre Amministrazione centrale viene utilizzata per backup e ripristini monouso. Windows PowerShell presenta il vantaggio di eseguire snapshot SQL anziché il database di produzione. Uno dei parametri del comando Windows PowerShell provocherà la generazione di uno snapshot SQL, quindi Windows PowerShell eseguirà l'azione sullo snapshot anziché sul database di produzione. Ciò ridurrà l'impatto delle risorse dell'operazione di backup sull'ambiente di produzione. Con Windows PowerShell, gli amministratori di SharePoint avranno un controllo più granulare delle opzioni per il backup o il ripristino.

  2. Miglioramento delle funzionalità di remoting: - Il significato è duplice, in primo luogo, i desktop di Windows 7 possono comunicare con il server utilizzando i comandi di PowerShell. Di conseguenza, i tecnici con i laptop Windows 7 possono configurare i propri server in remoto eseguendo script PowerShell. In secondo luogo, gli script di accesso client scritti in PowerShell, che risiedono sul server, possono essere eseguiti su Windows 7 più facilmente. Inoltre, utilizzando PowerShell, possiamo facilmente controllare i computer remoti, eseguire attività importanti su di essi e applicare facilmente queste modifiche su larga scala. Il servizio remoto utilizza le risorse di rete. Quindi, quando lavoreremmo con PowerShell, non stiamo usando la GUI e, di conseguenza, la larghezza di banda richiesta per un determinato compito è ridotta e il problema di sovraccarico della rete è risolto.

  3. Coerenza: - Se si dispone di una procedura prestabilita per il completamento di un'attività, l'utilizzo di Windows Powershell farà in modo di non perdere mai un passaggio, automatizzare il più possibile e fare in modo che Powershell richieda le cose che non possono essere automatizzate.

  4. Supporto .NET: - Powershell supporta il framework .NET. Pertanto, tutte le funzioni del sistema possono essere facilmente aggiunte agli script PowerShell e quindi sono di aiuto al programmatore nello sviluppo degli script. Pertanto, automatizzare i compiti di VDI è molto più semplice, semplice ed efficiente.

  5. Meno lavoro manuale: - L'amministratore può ora creare, eliminare o modificare le impostazioni delle macchine virtuali da remoto semplicemente scrivendo gli script. Non ha bisogno di andare sul singolo PC e portare a termine il lavoro. Anche gli script scritti sono accettabili su tutti i computer. Quindi l'amministratore non ha bisogno di riscriverli ancora e ancora.

  6. Riusabilità: - Gli script una volta scritti per eseguire un'attività specifica possono essere memorizzati per scopi successivi e possono anche essere combinati con altri script per eseguire attività diverse. Quindi le attività ripetitive possono essere eseguite in modo molto più semplice semplicemente eseguendo gli script. Ciò consente agli amministratori di risparmiare tempo e denaro nella configurazione delle macchine.

  7. Supporto per il pipelining: - La più grande vittoria di PowerShell è che puoi reindirizzare qualsiasi cosa senza dover analizzare il testo. È possibile fornire l'output di un comando come input per il nuovo set e quindi risolvere compiti complessi.


0

Cygwin non è garantito per essere disponibile per ogni versione di Windows. L'ultima volta che ho controllato era discutibile su macchine a 64 bit. Powershell sta diventando la shell dei comandi predefinita per Windows e offrirà l'accesso "nativo" a tutte le risorse su un computer Windows.


Uso cygwin su Vista a 64 bit, funziona perfettamente.
lajos,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.