Esercitazioni

Powershell: cos'è e comandi di base e os consigliati

Sommario:

Anonim

Proprio come funziona e svolge attività simili a quelle ottenibili con il prompt dei comandi, lo strumento nativo di Windows PowerShell è una risorsa di input per il sistema operativo Windows. Uno strumento che viene spesso utilizzato per la sua flessibilità sia dagli ingegneri che dagli analisti di sistema su base giornaliera nel loro lavoro.

Sia che tu debba gestire server o sistemi, PowerShell è una versione migliorata e avanzata del prompt dei comandi tradizionale. Le attività e le funzioni di Windows Powershell sono sostanzialmente le stesse di quelle presenti nel CMD (invio di comandi a Windows tramite comandi specifici), sebbene abbia anche diverse funzioni extra che possono essere molto utili per l'utente.

Contrariamente a quanto accade nella CMD, PowerShell ci presenta una solida interfaccia di scripting con funzioni specifiche in cui è possibile eseguirle per eseguire vari processi nel sistema Windows. Con una tale riga di comando interattiva, è possibile avviare comandi per automatizzare diverse attività.

Questo strumento era già compatibile con Windows XP, ma per poterlo utilizzare doveva essere scaricato e installato. Ora con Windows 10 Powershell è già preinstallato e con visibilità significativa per facilitare l'accesso.

Indice dei contenuti

Che cos'è Windows Powershell?

L'interfaccia di PowerShell può essere utilizzata per diversi scopi, come l'esecuzione di applicazioni avanzate o attività ancora più semplici come la conoscenza dell'ora corrente. Inoltre, i comandi Powershell possono lavorare insieme, combinando sulla riga di comando per risultati più specifici e avanzati. Questo è stato chiamato " pipelining".

Nel frattempo, Powershell offre anche un'opzione che può tornare utile per alcuni utenti: la possibilità di aggiungere altri comandi creati dagli stessi utenti alla console.

Anche se PowerShell è stato creato diversi anni fa e con Windows 10 ha una maggiore visibilità e maggiore visibilità, è ancora uno strumento poco conosciuto, non solo per gli utenti di base, ma anche per molti operatori di computer che non conoscono tutti i vantaggi che possono offrire. i cmdlet (script light) di questa console.

A causa di tutti i vantaggi che questi comandi possono offrire e considerando che Microsoft ha dedicato più spazio a Powershell in modo che gli utenti Windows si abituino, è necessario iniziare a conoscere meglio le funzioni di Powershell, a cosa servono e come possono esserci utili usandoli.

Come aprire Windows PowerShell

Lo strumento PowerShell può essere aperto rapidamente accedendo alla funzione Esegui inclusa in Windows.

  • Per fare ciò, premere contemporaneamente i tasti Windows + R. Nella casella Esegui appena aperta, digitare "PowerShell" e fare clic su OK o premere direttamente il tasto Invio.

Un'altra opzione per accedere a Powershell è utilizzare il motore di ricerca offerto da Cortana, situato nella parte inferiore sinistra dello schermo, da cui è possibile cercare questo strumento.

Comandi essenziali di PowerShell (Tutorial)

In PowerShell, i comandi sono chiamati "cmdlet" ed è possibile utilizzare il tasto Tab per consentire a Powershell di completare automaticamente il nome del cmdlet che si desidera utilizzare.

Windows PowerShell è stato creato pensando alla sua compatibilità con le versioni precedenti, rendendolo una risorsa che funziona bene con gli stessi comandi utilizzati da CMD. Sapendo questo, è possibile utilizzare gli stessi comandi utilizzati nel Prompt dei comandi, ma in un'interfaccia più avanzata e con molti più comandi.

Qui abbiamo messo insieme un numero significativo di cmdlet utili che possono essere utilizzati in Powershell e dettagliamo la sintassi di ciascuno e la funzione specifica di ciascuno.

Per iniziare con le basi e dare una rapida occhiata ai cmdlet che PowerShell ci offre, possiamo eseguire il comando "Show-Command", attraverso il quale si aprirà una finestra, mostrandoci un elenco completo e completo di tutti i comandi disponibili.

Get-Command

Nel caso in cui si desideri conoscere tutti i cmdlet offerti da PowerShell, è possibile farlo digitando questo comando nella console.

Windows PowerShell consente, tramite questo comando, di conoscere tutte le funzioni e le caratteristiche che includono i suoi cmdlet, presentate sotto forma di un elenco che descrive le funzioni di ciascuno, nonché i loro parametri e opzioni speciali.

Per ottenere questo elenco di comandi, è necessario scrivere "Get-Command" seguito da un parametro specifico, con il quale verranno ottenute le informazioni dal cmdlet in questione. Ad esempio, se scriviamo in Powershell "Get-Command * -help *", vedremo una serie di comandi che accettano il parametro "-help".

Se si aggiunge un asterisco a ciascun lato del parametro, come abbiamo fatto nell'esempio, si otterranno tutte le possibili combinazioni utilizzate dal cmdlet Get-Command se accompagnate da "-help".

Digitando "Get-Command -Name nella console "Abbiamo una serie di comandi che includono quel nome specifico. È possibile che non ricordi o non conosca il nome corretto di un cmdlet. In questa situazione, puoi includere i due asterischi su ciascun lato del nome, come indicato sopra, ad esempio "Get-Command -Name * set *", in modo da poter visualizzare un elenco di cmdlet che includono il termine "set" in il tuo nome.

Get-Host

L'esecuzione di questo comando fornisce la versione di Windows PowerShell utilizzata dal sistema.

Get-History

Questo comando fornisce una cronologia di tutti i comandi eseguiti in una sessione di PowerShell e attualmente in esecuzione.

Get-Random

L'esecuzione di questo comando produce un numero casuale compreso tra 0 e 2.147.483.646.

Get-Service

In alcune occasioni, sarà necessario sapere quali servizi sono stati installati nel sistema, per i quali è possibile utilizzare il comando Get-Service, che fornirà informazioni sui servizi in esecuzione e quelli che sono già stati arrestati.

Per utilizzare questo cmdlet, immettere "Get-Service" nella console, utilizzando uno qualsiasi dei parametri aggiuntivi, in una sintassi simile al seguente esempio:

Ottieni assistenza | Where-Object {$ _. Status -eq "In esecuzione"}

Con questo, i servizi vengono eseguiti nel sistema. Nel caso in cui questo comando venga eseguito senza alcun parametro, verrà presentato un elenco di tutti i servizi con i rispettivi stati (ad esempio "In esecuzione o" Interrotto ").

Se sai già esattamente su quale comando vuoi ottenere informazioni, l'utilizzo di Get-Service è molto più pratico che accedere al Pannello di controllo di Windows e lavorare dalla GUI di Windows (interfaccia grafica utente).

Get-Help

Particolarmente molto utile per gli utenti principianti di Powershell, questo comando presenta un aiuto di base per saperne di più sui cmdlet e sulle loro funzioni.

Nel caso in cui utilizzi PowerShell per un breve periodo, è molto probabile che ti troverai disorientato e con qualche difficoltà; In queste circostanze, Get-Help diventerà la tua guida, poiché questo comando fornisce la documentazione essenziale su cmdlet, funzioni, comandi e script.

Allo stesso modo, il suo utilizzo non è affatto complicato: devi solo scrivere "Get-Help" accompagnato dal cmdlet di cui vuoi conoscere maggiori dettagli. Per esemplificarne l'utilizzo, potremmo cercare ulteriori informazioni dal cmdlet "Get-Process", nel qual caso sarebbe sufficiente scrivere "Get-Help Get-Process".

Per avere un'idea più chiara di come funziona Get-Help in Windows PowerShell, semplicemente eseguendo questo comando vedremo una descrizione insieme a una breve spiegazione su come usarlo.

Get-Date

Per sapere rapidamente che giorno era in una certa data in passato, usando questo comando otterrai il giorno esatto. Ad esempio, per sapere che giorno era il 20 maggio 2009, dovresti scrivere in Powershell:

"Get-Date 05.05.2009", inserendo la data nel formato "dd.mm.aa". In caso di esecuzione di Get-Date da solo, ci fornirà la data e l'ora correnti.

PS C: \ Users \ MiguePR> Get-Date sabato 27 luglio 2019 12:00:40

Copy-Item

Con questo comando puoi copiare cartelle o file.

Se si desidera creare una copia di file e directory sull'unità di archiviazione o se è necessario copiare chiavi o voci di registro, Copia-Articolo è il cmdlet giusto. Funziona in modo molto simile al comando "cp" incluso nel prompt dei comandi, sebbene sia molto meglio.

Per questo, il comando Copia-Articolo deve essere usato per copiare e modificare il nome degli elementi usando lo stesso comando, con il quale è possibile stabilire un nuovo nome per detto elemento. Se si desidera copiare e rinominare il file "ProfesionalReview.htm" in "Proyectitosbuenos.txt", scrivere:

Copia-elemento "C: \ Proyectos.htm" -Destinazione "C: \ MyData \ Proyectos.txt".

Invoke-Command

Quando si desidera eseguire uno script o un comando PowerShell (localmente o in remoto, su uno o più computer), "Invoke-Command" sarà l'opzione migliore. È semplice da usare e ti aiuterà a gestire i computer batch.

È necessario digitare Invoke-Command accanto allo script o al comando con la posizione esatta.

Invoke-Expression

Con Invoke-Expression viene eseguita un'altra espressione o comando. Se ti accorgi di inserire una stringa di input o un'espressione, questo comando prima la analizza e quindi la esegue. Senza questo comando, la stringa non restituisce alcuna azione. Invoke-Expression funziona solo localmente, a differenza di Invoke-Command.

Per utilizzare questo comando, Invoke-Expression deve essere scritto insieme a un'espressione o un comando. Ad esempio, è possibile impostare una variabile "$ Command" con un comando che punti al cmdlet "Get-Process". Eseguendo il comando "Invoke-Expression $ Command", "Get-Process" funzionerà allo stesso modo di un cmdlet sul computer locale.

Allo stesso modo, una funzione può essere eseguita in uno script con l'uso di una variabile, che è molto utile quando si lavora con script dinamici.

Invoke-WebRequest

Tramite questo cmdlet, simile a cURL in Linux, è possibile eseguire un login, uno scraping e il download di informazioni relative a servizi e pagine Web, mentre si lavora dall'interfaccia di PowerShell, monitorando alcuni siti Web di vuoi ottenere queste informazioni.

Per eseguire queste attività, deve essere utilizzato come Invoke-WebRequest insieme ai suoi parametri. Con questo, è possibile ottenere i collegamenti di uno specifico sito Web con la seguente sintassi di esempio:

(Invoke-WebRequest –Uri 'https://wwww.ebay.com'). Collegamenti

In questo caso, si otterrebbero i collegamenti dal sito eBay.

Set-ExecutionPolicy

Sebbene possiamo creare e avviare script (.ps1) da PowerShell, siamo limitati a causa di problemi di sicurezza. Tuttavia, questo può essere modificato tramite la categoria di sicurezza utilizzando il cmdlet Set-ExecutionPolicy.

È sufficiente digitare Set-ExecutionPolicy accanto a una delle quattro opzioni di sicurezza per apportare le modifiche richieste:

  • RestrictedAll SignedRemote SignedUnrestricted

Ad esempio, se vogliamo impostare il livello di sicurezza limitata, dovremmo usare:

Set-ExecutionPolicy -ExecutionPolicy Limitato

Get-Item

Nel caso in cui si stiano cercando informazioni su un elemento con una posizione specifica, ad esempio una directory sul disco rigido, il comando Get-Item è quello indicato per questa attività.

Va chiarito che il contenuto dell'elemento stesso, come sottodirectory e file in una cartella specifica, non viene ottenuto, a meno che non venga richiesto esplicitamente.

Dall'altro lato di Get-Item troviamo il cmdlet Remove-Item, che consente di rimuovere l'elemento specificato.

Remove-Item

Nel caso in cui si desideri eliminare elementi come cartelle, file, funzioni e variabili e chiavi di registro, Remove-Item sarà il cmdlet migliore. L'importante è che offra parametri per inserire ed espellere elementi.

Con il cmdlet Remove-Item è possibile rimuovere elementi da posizioni specifiche con l'uso di determinati parametri. Ad esempio, è possibile rimuovere il file "Finanzas.txt" utilizzando il seguente comando:

Rimuovi elemento "C: \ MyData \ Finance.txt"

Get-Content

Quando hai bisogno di tutto ciò che un file di testo contiene in termini di contenuto in un percorso specifico, aprilo e leggilo usando un editor di testo come Blocco note. Utilizzando Windows PowerShell, è possibile utilizzare il comando Get-Content per sfogliare il contenuto di un file senza aprirlo.

Ad esempio, è possibile ottenere 20 righe di testo incluse nel file "Proyectos.htm", per le quali è possibile scrivere:

Ottieni contenuto "C: \ Proyectos.htm" -TotalCount 20

Questo cmdlet è simile al precedente cmdlet Get-Item, ma con il quale possiamo ottenere ciò che è incluso nel file che hai indicato. Se si esegue questo comando per un file con estensione txt, verrà rivelato completamente il testo incluso in quel file. Se lo usi in un file di immagine png, otterrai molti dati binari senza significato e illeggibili.

Se usato da solo, Get-Content non è molto utile. Ma può essere miscelato con cmdlet più specifici per ottenere risultati più precisi.

Set-Content

Con questo cmdlet è possibile archiviare il testo in un file, qualcosa di simile a ciò che si può fare con "echo" in Bash. Se utilizzato in combinazione con il cmdlet Get-Content, è possibile prima vedere cosa è contenuto in un determinato file e quindi copiarlo in un altro file tramite Set-Content.

Ad esempio, è possibile utilizzare il cmdlet Set-Content per aggiungere o sostituire ciò che è contenuto in un file con altro contenuto. Infine, può essere combinato con il comando di cui sopra per salvarlo con un nuovo nome (esempio.txt) come segue:

Get-Content "C: \ Proyectos.htm" -TotalCount 30 | Set-Content "Esempio.txt"

Get-Variable

Se si utilizza PowerShell per tentare di utilizzare le variabili, è possibile farlo con il cmdlet Get-Variable, con il quale sarà possibile visualizzare questi valori. Questo comando visualizza i valori in una tabella, da cui è possibile utilizzare, includere ed escludere caratteri jolly.

Per usarlo devi solo scrivere "Get-Variable" accompagnato dai suoi parametri e altre opzioni. Ad esempio, se desideri conoscere il valore della variabile "sconto", scrivi quanto segue:

Get-Variable -Name "sconto"

Set-Variable

Il valore di una variabile può essere impostato, modificato o reinizializzato con questo cmdlet. Per impostare il valore della variabile del caso precedente, è necessario scrivere quanto segue:

Set-Variable -Name "discount" -Value "Il valore è impostato qui"

Get-Process

Spesso, utilizziamo Task Manager per scoprire esattamente quali processi sono in esecuzione sul nostro PC. In PowerShell, qualsiasi utente può saperlo eseguendo questo cmdlet, con il quale otterrà l'elenco dei processi attualmente attivi.

Il cmdlet Get-Process somiglia in qualche modo a Get-Service, sebbene in questo caso fornisca informazioni sui processi.

Inizio-Process

Con questo cmdlet, Windows PowerShell semplifica notevolmente l'esecuzione dei processi sul computer.

Ad esempio, se è necessario utilizzare la calcolatrice, è possibile aprirla rapidamente e facilmente digitando quanto segue:

Start-Process -FilePath “calc” –Verb

Stop-Process

Con questo cmdlet è possibile interrompere un processo, indipendentemente dal fatto che sia stato avviato dall'utente o da un altro utente.

Continuando con l'esempio del calcolatore, se si desidera interrompere completamente i suoi processi in esecuzione, scrivere quanto segue in PowerShell:

Stop-Process -Name "calc"

Start-Service

Se è necessario avviare un servizio sul PC, il cmdlet Start-Service è quello indicato in questo caso e funziona allo stesso modo anche se tale servizio è disabilitato sul PC.

Per avviare il servizio di ricerca di Windows, viene utilizzata questa sintassi:

Start-Service -Name "WSearch"

Stop-Servizio

Con questo comando interrompi i servizi in esecuzione sul computer.

Stop-Service -Name "Wsearch"

Con questo ordine, il servizio "Ricerca di Windows" verrà interrotto.

uscita

È possibile uscire da PowerShell utilizzando il comando Esci.

Conclusione su Windows PowerShell

Può sembrare che alcuni di questi comandi siano di scarsa utilità, anche se ciò accade perché sono comandi che non si distinguono fino a quando non vengono immessi altri parametri che fanno sì che PowerShell mostri la sua piena potenza.

Questi parametri sono utili quando si scrivono i propri Cmdlet o Light Script, che è un buon modo per ottenere il massimo beneficio dalle funzioni di PowerShell.

Sebbene siano comandi che usi sporadicamente, sapere come funzionano e a cosa servono ha i suoi vantaggi, considerando che Microsoft è attualmente focalizzata su PowerShell più che mai.

Alla fine della giornata, i cmdlet sono comandi essenziali che è necessario sapere se si desidera ottenere il massimo da Windows PowerShell.

Esercitazioni

Scelta dell'editore

Back to top button