Windows PowerShell. Il mio profilo di Windows PowerShell

Gli script di profilo sono un modo efficace per personalizzare Windows PowerShell e sono pronto a lavorare nel modo desiderato per funzionare.

Don Jones

Ogni volta che ho deciso di spiegare gli script del profilo di Windows PowerShell, la discussione porta inevitabilmente a qualcuno che chiedeva cosa c'è nel mio script di profilo. In genere, penso che essi stanno solo cercando di avere un'idea di come dovrebbero usare il loro profilo.

Profili sono pulite, ma sembrano tipo di magici in un primo momento perché accadono sotto il cofano come avvia Windows PowerShell. In realtà, sono molto meno magici di quanto si possa pensare.

In primo luogo, è necessario capire che Windows PowerShell è solo un grande DLL seduto sul tuo computer. Che è quello che chiamo il motore di Windows PowerShell. Non fa nulla con profili. Per la maggior parte, non può anche interagire direttamente con il motore a meno che non sei uno sviluppatore .NET.

Semplici esseri umani trattano Windows PowerShell tramite un'applicazione di hosting, spesso appena chiamata host. PowerShell. exe, il console schermo blu standard che utilizzano la maggior parte di noi, è un tale host. Il sistema Windows PowerShell Integrated Scripting Environment (ISE) è un altro. Redattori di Windows PowerShell di terze parti come PrimalScript, PowerShell Plus, PowerSE, PowerGUI e così via sono anche padroni di casa. L'ospite è responsabile per il caricamento — o non carico, il caso potrebbe essere — profilo script. L'host in realtà determina quale script si carichi.

Nel caso l'ospite di PowerShell. exe e Windows PowerShell ISE, caricano gli script fino a quattro. Due di loro sono nel vostro profilo utente, in una cartella denominata \Documents\WindowsPowerShell. Questi sono i profili utente. Di questi, uno di loro dovrebbe essere caricato da tutti gli host di Windows PowerShell: Profile. ps1.

L'altro è specifico per l'applicazione di hosting, come PowerShell_profile. Questo è caricato dall'host PowerShell. exe. Gli altri due script sono script di livello, con uno specifico per l'host e l'altro è a tutti gli host.

È possibile eseguire Help about_profiles in shell per leggere su questi file. Per gli host di terze parti come editor di script, è necessario consultare la relativa documentazione. Per offrire il comportamento coerenza con la shell di Microsoft, alcuni di loro si caricherà gli stessi script di profilo come PowerShell. exe. Altri avranno i propri script per host che cercano, mentre altri consentono di specificare gli script che si desidera caricare all'avvio.

Il lungo e breve di esso è che il vostro ospite sarà per questi script all'avvio. Se esistono, li eseguirà. Nessuno degli script utilizzati dai padroni di casa Microsoft esiste per impostazione predefinita. In realtà, la cartella Documents\WindowsPowerShell non è creata per impostazione predefinita, sia. Devi crearle se si desidera utilizzarli. È necessario abilitare l'esecuzione di script impostando i criteri di esecuzione diverso da Restricted (che è l'impostazione predefinita).

Il mio profilo

Qual è nel mio profilo? Generalmente niente, mi vergogno un po' a dire. Questo è perché tendo a fare un sacco di cose specifiche con Windows PowerShell — film video di formazione, insegnano classi, scrivere articoli e così via. Questi richiedono un completamente predefinito, l'esperienza di shell fresco-fuori-di-the-box. Non voglio che niente precaricati, perché nella maggior parte dei casi, voglio gente di vedermi passare attraverso l'atto di caricare qualsiasi cosa di cui ho bisogno.

Se fossi in un ambiente di produzione normale, però, che cosa vuoi mettere in ci? Vorrei iniziare con tutti i moduli di che utilizzare ogni giorno. Per esempio, potrei aggiungere Import-Module ActiveDirectory. Mi sarei aspettato di essere guai con Active Directory molto e avendo il modulo precaricato aiuterebbe.

Io non la metterei qualsiasi funzioni personalizzate nel mio profilo. Invece, vorrei mettere quelli nel proprio modulo di script e quindi importare che nel mio profilo. Che mantiene il profilo più pulito e lo rende più facile rimuovere quel modulo (e le funzioni che contiene) se trovo che siano in conflitto con qualcos'altro che devo fare.

Io non pasticciare con la barra del titolo finestra Windows PowerShell, il prompt di Windows PowerShell o nulla come quello. Non c'è niente di sbagliato in questo modo, ma io sono il tipo di persona che ama le cose come le impostazioni predefinite. Sarebbe appena li lascio da soli. Conosco un sacco di gente che vogliono ottimizzare la loro richiesta, però, e il profilo è il posto per farlo.

Vorrei fare una modifica:

$host.privatedata.ErrorForegroundColor = 'green'

In questo modo i messaggi di errore da rosso a verde. Io dico le persone che è perché il colore rosso-su-nero predefinito è troppo basso contrasto per facilitare la lettura. Il vero motivo è che una schermata di testo rosso mi riporta alla classe inglese liceo e mi sottolinea. Messaggi di errore verde mi fanno sentire come sto facendo qualcosa di giusto, così non lo stress così tanto. Lo so, è strano — colpa miei insegnanti Ms. Giovanni e Ms. Hansen.

Non definire qualsiasi alias personalizzato, perché ho paura che io li uso. Quindi potrei passare lungo a qualcun altro che non ha alcuna definizione per loro, così qualunque esempi sono passato lungo non avrebbe funzionato.

Non vomitare di fancy color splash screen utilizzando Write-Host e non visualizzare un elenco di funzioni disponibili o moduli. So come elencare le cose facilmente abbastanza, se necessario, e non mi piace una schermata ingombra quando sto prima a partire la shell (corro cls tutto il tempo come è, così posso sentire come sto ottenendo un nuovo inizio). Eseguire cd c:\ che sto iniziando alla radice di c: unità, piuttosto che nella mia cartella del profilo utente.

Ecco cosa c'è nel mio profilo. Che cosa è nel tuo?

Don Jones

Don Jones è un Microsoft MVP Award destinatario e autore di "Imparare Windows PowerShell in un mese di pranzi" (Manning Publications, 2011), un libro progettato per aiutare qualsiasi amministratore diventa efficace con Windows PowerShell. Jones offre anche formazione di Windows PowerShell pubblica e in loco. Contattarlo tramite ConcentratedTech.com o bit.ly/AskDon.

Contenuti correlati