Windows PowerShell. PowerShell.exe

Come con molte altre funzioni di Windows PowerShell, non c'è più di un modo per aprirlo in primo luogo.

Don Jones

La maggior parte del tempo, ti consigliamo di aprire Windows PowerShell utilizzando il collegamento dal menu Start. Tuttavia, ci sono anche momenti quando si vorrà a livello di programmazione di avviare una nuova sessione di guscio. Questa è la strada da percorrere quando sei uno script di programmazione, o avere uno script eseguito come parte di un file batch esterni.

In quelli e molte altre circostanze, la chiave per la realizzazione di che cosa avete bisogno sarà l'eseguibile di PowerShell. exe. Questo troverete nella cartella di installazione di Windows PowerShell.

PowerShell. exe avvia una nuova sessione di guscio di console, ma può fare molto di più. Il comando è completamente dotato di uno stuolo di parametri della riga di comando che si dica esattamente come comportarsi. Eseguire PowerShell-? dalla riga di comando per un elenco completo, o leggere su per i punti salienti.

Eseguire il comando

Il parametro –command accetta un unico comando di Windows PowerShell, insieme con tutti i parametri che comando richiede. Racchiudere la stringa di comando intero tra virgolette se contiene spazi o parametri. È inoltre possibile includere una pipeline completa di cmdlet multiple, se necessario.

È anche possibile utilizzare il parametro –file. Questo accetta il percorso e il nome del file una.Ps1 file. Windows PowerShell eseguirà quindi il contenuto di tale file. Questo è un modo molto più semplice per eseguire una complessa serie di comandi che cercare di marmellata li tutto nel parametro –command. Tenere presente che il criterio di esecuzione della shell colpisce l'esecuzione dello script, che ci porta al punto successivo.

Criteri di esecuzione

Il –executionpolicyparameters accetta una delle impostazioni di criteri di esecuzione di Windows PowerShell: Senza restrizioni, AllSigned, RemoteSigned e limitato. Qualunque cosa si specificare entreranno in vigore per quella sessione guscio solo ed eseguirà l'override di qualsiasi politica precedentemente impostato localmente con Set-ExecutionPolicy o da un oggetto (criteri di gruppo).

Aspetta, non è questo un problema di sicurezza? Un GPO, non dovrebbe essere incapace di sottoposto a override? No e no. Il criterio di esecuzione non è un firewall, e non è software antimalware. Esso è progettato per evitare che utenti non informati involontariamente l'esecuzione di uno script non attendibile. Se si specifica il parametro –executionpolicy, per definizione, si sta facendo così intenzionalmente. Quindi accettare le conseguenze di tale azione.

Catturare l'Output

Normalmente, tutto ciò che viene eseguito in una sessione di Windows PowerShell essere visualizzerà da PowerShell. exe come testo. Se tutto quello che vuoi fare è catturare che in un file di testo, che è probabilmente abbastanza buono.

Tuttavia, in alternativa è possibile specificare –outputformat XML per avere PowerShell. exe catturare l'output di oggetti dal comando o script di shell. È quindi possibile serializzare gli oggetti in un file CliXML. Questo è essenzialmente lo stesso come se aveste gli oggetti tubo guscio a Export-CliXML. Ti dà un formato di output che può più facilmente reimportare in un'altra sessione di shell.

Altri trucchi

Ci sono tre altri parametri della riga di comando su che si vorrà sapere:

  • -noProfile Windows PowerShell impedisce di carico qualsiasi script di profilo come esso viene eseguito. Se sai che non avrete bisogno di tutto ciò che è negli script profilo locale, non li carico possibile salvare un po' di tempo. Questo è anche un trucco utile se si dispone di un profilo che sta causando problemi. Si può aprire shell senza di essa e iniziare la risoluzione dei problemi.
  • -noExit racconta la shell per eseguire tutto ciò che è stato specificato da –command o –file, ma per tenere aperta la shell in seguito. Normalmente, utilizzando uno di questi due parametri chiude la shell quando è fatto, che è quello che di solito ti vuoi. Utilizzando –noExit consente di continuare a lavorare con la shell. Questo è utile per il debug e verifica i risultati di qualunque cosa voi appena eseguito.
  • -non interattivi racconta la shell a correre, ma non offrono all'utente un prompt dei comandi interattivi. È spesso potrai utilizzare questo insieme a –command o –file.

Masterizzazione PowerShell. exe

Utilizzando PowerShell. exe offre una varietà di opzioni per l'esecuzione di script, controlla output e così via. Se si sta utilizzando per pianificare gli script, eseguire gli script di accesso, eseguire comandi come parte di un batch di dimensioni maggiore o qualche altro scopo, esso è un buon trucco per avere la Manica.

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 ogni amministratore di diventare effettiva con Windows PowerShell. Jones offre anche la formazione di Windows PowerShell pubblici e in loco. Contattarlo tramite ConcentratedTech.com o bit.ly/AskDon.

Contenuto correlato