Vanilla Powershell è abbastanza di una lingua per gli amministratori di Windows e DB Server?


8

Un'installazione pulita di PowerShell da sola ha abbastanza funzionalità per amministrare un ambiente di dominio Windows e / o server SQL?

In caso contrario, quali sono i componenti aggiuntivi di terze parti validi, gratuiti oa pagamento?

Risposte:


8

Per rispondere a questa domanda, è necessario rimpicciolire l'immagine più grande e chiedere cosa significa amministrare i server Windows e SQL. Ad esempio, quante di queste altre cose hai nel tuo ambiente:

  • Prodotti di backup di terze parti come NetBackup o BackupExec
  • Prodotti antivirus
  • Strumenti di archiviazione
  • Firewall o software di filtraggio web
  • Avviso hardware (come IBM Director o HP SIM)

Tutte queste cose hanno i propri meccanismi di gestione e poiché PowerShell è ancora relativamente nuovo, non tutti i servizi saranno abilitati per PowerShell. Per ora, potrebbe essere necessario uscire da PowerShell per gestire cose come quelle.

D'altro canto, non esiste un'altra lingua che funzioni meglio in tutti questi strumenti di Windows.

Quando dici "funzionalità per amministrare i server", questo non proviene ancora da una lingua Windows. Nel mondo * nix, puoi rimanere all'interno di un ambiente di scripting, ma il mondo di Windows non è ancora del tutto presente.


2
Non sono d'accordo. Penso che PowerShell contenga le funzionalità per "amministrare i server" e dove potrebbero mancare specifici cmdlet, può comunque sfruttare le applicazioni console esistenti, le app COM e gli assembly .NET. Alcuni di questi richiederanno lavoro per sviluppare la soluzione, ma più è lungo PowerShell, saranno disponibili soluzioni più raffinate.
Steven Murawski,

Giusto, come hai detto, ci vorrà ancora del lavoro per sviluppare la tua soluzione. Stiamo andando verso il giorno in cui non dovrete mai lasciare PowerShell per fare il vostro lavoro, ma non siamo ancora arrivati, siete d'accordo?
Brent Ozar,

Sono molto più vicino ad accettarlo. Forse sono bloccato dalla semantica, ma "lasciare" PowerShell per me significa lasciare la shell o lo script o l'host, il che non è necessario. Se definiamo "lasciare" PowerShell come allontanarsi dai cmdlet, sono d'accordo. :)
Steven Murawski,

Non sono sicuro di essere d'accordo. Se è possibile amministrare con WSH, Perl o C # (tramite WMI, API di Windows, dll di terze parti, ecc.), È possibile fare lo stesso in PowerShell con lo stesso codice o meno.
Cuneo

Bene - non puoi amministrare Windows completamente in QUALSIASI linguaggio, come ho detto. "Non esiste un'altra lingua che funzioni meglio su tutti questi strumenti di Windows." È quello che ho detto.
Brent Ozar,

4

La risposta alla tua prima domanda è un clamoroso "SÌ".

Per gestire un dominio Windows esistente, PowerShell "vanilla" (senza snapin aggiuntivi) fornisce supporto immediato per WMI, ADSI, COM e .NET.

La gestione di macchine remote viene gestita tramite WMI (o COM / .NET a seconda del caso d'uso).

La gestione di SQL Server può utilizzare le librerie SMO (vedere le estensioni di PowerShell di SQL Server per idee). È possibile accedere ai dati tramite ADO.NET.

Per rispondere alla seconda parte della tua domanda, su cosa sono i buoni componenti aggiuntivi di terze parti, dipende davvero da cosa devi fare. Come menzionato da John Cook, le estensioni della community di PowerShell sono un'ottima aggiunta generale. Ce ne sono molti, molti altri. PowerShellCommunity.Org ha un numero di ottime referenze per prodotti di terze parti e Codeplex ha un gran numero di progetti PowerShell open source.

Altri prodotti Microsoft stanno aggiungendo il supporto PowerShell (come SQL Server 2008, Exchange, Active Directory, ecc.)

V2 (che si sta avvicinando) contiene alcune fantastiche funzionalità di remoting e di background job.


3

Powershell non viene fornito con strumenti di amministrazione SQL, sebbene sia possibile continuare a utilizzare cose come osql o isql. So che ci sono componenti aggiuntivi Powershell che ti permettono di "montare" un server SQL e di navigare come se fosse un file system (molto simile al materiale del Registro di sistema integrato).


1
A partire da SQL Server 2008, esistono cmdlet nativi di PowerShell e un provider.
Steven Murawski,


1

Da solo e da solo, PowerShell non è abbastanza.

Ma PowerShell non è solo, e nemmeno tu. Ci sono estensioni come menziona John D. Cook sopra, così come una vivace comunità che condivide ciò che apprendono al riguardo.

È fatto per essere facilmente e costantemente esteso e ti dà accesso agli oggetti COM e .NET necessari per amministrare quello che vuoi.



0

Ho davvero trovato lo snap-in Quest ActiveRoles molto utile per lavorare e gestire Active Directory. Puoi ottenere lo snap-in qui , ma penso che questo post del blog faccia un ottimo lavoro spiegando di cosa si tratta, come impostarlo e come utilizzarlo.


0

Come DBA in un ambiente piuttosto ampio, la mia opinione è SÌ. Abbiamo creato un intero sistema di monitoraggio e manutenzione di MS SQL Server utilizzando nient'altro che PowerShell 1.0. Questo sistema automatizza il monitoraggio giornaliero della capacità, nonché l'automazione della manutenzione dell'indice di backup, ecc.

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.