Tutorial di PowerShell per principianti: scopri gli script di PowerShell

Iniziamo a imparare Powershell Lessons. Per prima cosa impareremo:

Cos'è PowerShell?

Windows PowerShell è un motore di automazione orientato agli oggetti e un linguaggio di scripting. È progettato principalmente per professionisti IT e amministratori di sistema per controllare e automatizzare l'amministrazione Windows Sistema operativo e altre applicazioni. Fornisce nuovi concetti avvincenti per estendere le conoscenze acquisite e gli script creati all'interno di Windows Prompt dei comandi e Windows Ambienti Script Host.

Combina la flessibilità dello scripting, la velocità della riga di comando e la potenza di uno strumento di amministrazione basato su GUI. Ti consente di risolvere i problemi in modo efficiente aiutando l'amministratore di sistema a eliminare le future ore di lavoro manuale. Esamineremo tutti gli aspetti importanti che dovresti conoscere per imparare PowerShell.

Questa è una guida completa alle basi dello scripting PowerShell... cominciamo!

Perché utilizzare PowerShell?

Ecco alcuni motivi importanti per utilizzare Powershell:

  • Powershell offre un'esperienza della riga di comando ben integrata per il sistema operativo
  • PowerShell consente l'accesso completo a tutti i tipi nel framework .NET
  • Scelto dagli amministratori di sistema.
  • PowerShell è un modo semplice per manipolare i componenti server e workstation
  • È rivolto agli amministratori di sistema creando una sintassi più semplice
  • PowerShell è più sicuro dell'esecuzione VBScript o altri linguaggi di scripting

Cronologia di PowerShell

La prima versione 1.0 di PowerShell è stata rilasciata nel 2006. Oggi PowerShell è alla versione 7.2. Con il passare dell'anno e della versione, le funzionalità e gli ambienti di hosting di PowerShell sono cresciuti in modo significativo.

Vediamo la cronologia delle versioni di Powershell:

  • La versione 1 di PowerShell supportava l'amministrazione locale di Windows 2003 Server
  • PowerShell 2.0 è stato integrato con Windows 7 e Windows Server2008 R2. Questa versione supporta la comunicazione remota e migliora le funzionalità di PowerShell come transazioni, processi in background, eventi, debug, ecc.
  • PowerShell 3.0 è stato rilasciato come parte interna di Windows quadro gestionale. È stato installato su Windows 8 e Windows Server 2012. È possibile aggiungere e pianificare lavori, connettività di sessione, caricamento automatico dei moduli, ecc.
  • PowerShell 4.0 è stato fornito con Windows 8.1 e Windows Server2012 R2. In questa versione è stato aggiunto il supporto per la configurazione dello stato desiderato, debug avanzato e diagnostica di rete.
  • PowerShell 5.0 è stato rilasciato come parte interna di Windows framework di gestione 5. Le funzionalità offerte in questa versione sono il debug remoto, le definizioni di classi, le enumerazioni .NET, ecc.
  • È stato rilasciato PowerShell 7.2. È basato su .NET 6.0. Questa versione offre nuovi operatori, visualizzazione degli errori semplificata e dinamica, notifiche automatiche di nuova versione, ecc.

Successivamente in questo tutorial sullo scripting di Powershell, impareremo le funzionalità di Powershell.

Caratteristiche di PowerShell

  • Comunicazione remota PowerShell: PowerShell consente di richiamare script e cmdlet su un computer remoto.
  • Lavori in background: Ti aiuta a richiamare script o pipeline in modo asincrono. Puoi eseguire i tuoi lavori sulla macchina locale o su più macchine gestite in remoto.
  • Le transazioni: abilita il cmdlet e consente agli sviluppatori di eseguire
  • Sera: Questo comando consente di ascoltare, inoltrare e agire sugli eventi di gestione e di sistema.
  • Trasferimento file in rete: Powershell offre supporto nativo per il trasferimento prioritario, asincrono e limitato di file tra macchine utilizzando la tecnologia Background Intelligent Transfer Service (BITS).

Come avviare PowerShell

Ora in questo tutorial sullo script Powershell, impareremo come avviare Powershell Windows OS.

PowerShell è preinstallato in tutte le versioni più recenti di Windows. Dobbiamo avviare PowerShell per questo dobbiamo seguire i passaggi indicati:

Passo 1) Cerca PowerShell in Windows. Selezionare e fare clic

Avvia PowerShell

Passo 2) Si apre la finestra Power Shell

Avvia PowerShell

cmdlet PowerShell

Un cmdlet chiamato anche Command let è un comando leggero utilizzato nell'ambiente PowerShell base Windows. PowerShell richiama questi cmdlet nel prompt dei comandi. È possibile creare e richiamare comandi cmdlet utilizzando l'API PowerShell.

Cmdlet e comando

I cmdlet si differenziano dai comandi in altri ambienti command-shell nei seguenti modi:

  • I cmdlet sono .NET Framework oggetti di classe Non può essere eseguito separatamente
  • I cmdlet possono essere costituiti da un minimo di una dozzina di righe di codice
  • L'analisi, la formattazione dell'output e la presentazione degli errori non vengono gestiti dai cmdlet
  • Il processo dei cmdlet funziona sugli oggetti. Pertanto il flusso di testo e gli oggetti non possono essere passati come output per il pipeline
  • I cmdlet sono basati su record in quanto elaborano un singolo oggetto alla volta

La maggior parte delle funzionalità di PowerShell proviene dai cmdlet che sono sempre in formato verbo-sostantivo e non plurale. Inoltre, gli oggetti restituiti dal cmdlet non sono testo. Un cmdlet è una serie di comandi, che sono più di una riga, archiviati in un file di testo con estensione .ps1.

Un cmdlet è sempre costituito da un verbo e un sostantivo, separati da un trattino. Alcuni dei verbi utilizzati per imparare PowerShell sono:

  • Ottieni — Per ottenere qualcosa
  • Start — Per eseguire qualcosa
  • Fuori — Per produrre qualcosa
  • Fermare — Per fermare qualcosa che sta correndo
  • Impostato — Per definire qualcosa
  • Nuovo — Creare qualcosa

comandi PowerShell

Di seguito è riportato un elenco dei comandi PowerShell più importanti:

Ottenere aiuto: Guida su comandi e argomenti di PowerShell

Esempio: visualizzare le informazioni della guida sul comando Format-Table

Get-Help Format-Table

Cmdlet e comando

Ottieni comando: Ottieni informazioni su tutto ciò che può essere invocato

Esempio di script Powershell: per generare un elenco di cmdlet, funzioni installate nel computer

Get-Command

Cmdlet e comando

Ottieni assistenza: Trova tutti i cmdlet contenenti la parola "servizio".

Esempio: ottieni tutti i servizi che iniziano con "vm"

Get-Service "vm*"

Cmdlet e comando

Ottieni membro: Mostra cosa si può fare con un oggetto

Esempio: ottenere i membri dei processi VM.

Get-Service "vm*" | Get-Member

Cmdlet e comando

Altri comandi:

  • Ottieni modulo Mostra pacchetti di comandi
  • Ottieni contenuto Questo cmdlet può prendere un file, elaborarne il contenuto ed eseguire operazioni con esso
  • Get- get Trova tutti i cmdlet che iniziano con la parola "get-"

Esempio: creare una cartella

New-Item -Path 'X:\Guru99' -ItemType Directory

Produzione:

Cmdlet e comando

Tipi di dati di PowerShell

Tipi di dati di PowerShell
Tipi di dati di PowerShell

Variabili speciali

Variabile speciale Descrizione
$Errore Un array di oggetti errore che visualizzano gli errori più recenti
$Ospite Visualizza il nome dell'applicazione hosting corrente
$Profilo Memorizza l'intero percorso di un profilo utente per la shell predefinita
$ PID Memorizza l'identificatore del processo
$PSUICultura Contiene il nome dell'attuale cultura dell'interfaccia utente.
$NULL Contiene un valore vuoto o NULL.
$Falso Contiene un valore FALSO
$Vero Contiene il valore VERO

Script di PowerShell

Gli script di Powershell sono archiviati nel file .ps1. Per impostazione predefinita, non è possibile eseguire uno script semplicemente facendo doppio clic su un file. Questo protegge il sistema da danni accidentali. Per eseguire uno script:

Passaggio 1: fare clic con il pulsante destro del mouse e fare clic su "Esegui con PowerShell".

Script di PowerShell

Inoltre, esiste una politica che limita l'esecuzione degli script. Puoi visualizzare questa policy eseguendo il comando Get-ExecutionPolicy.

Otterrai uno dei seguenti output:

  • Limitato— Non sono ammessi script. Questa è l'impostazione predefinita, quindi verrà visualizzata la prima volta quando esegui il comando.
  • Tutti firmati— Puoi eseguire script firmati da uno sviluppatore affidabile. Con l'aiuto di questa impostazione, uno script ti chiederà conferma che desideri eseguirlo prima di eseguirlo.
  • Firmato a distanza— Puoi eseguire i tuoi script o quelli firmati da uno sviluppatore affidabile.
  • illimitato— Puoi eseguire qualsiasi script che desideri eseguire

Passaggi per modificare la policy di esecuzione

Passo 1) Apri un prompt di PowerShell con privilegi elevati. Fare clic con il tasto destro su PowerShell ed "Esegui come amministratore"

Script di PowerShell

Passo 2) Inserisci i seguenti comandi

  1. Get-ExecutionPolicy
  2. Politica di esecuzione dei set senza restrizioni
  3. Immettere Y nel prompt
  4. Get-ExecutionPolicy

Script di PowerShell

Primo script di PowerShell

In un blocco note scrivi il seguente comando

Write-Host "Hello, Guru99!"

Gli script di PowerShell hanno un'estensione ps1. Salva il file come FirstScript.ps1

Primo script di PowerShell

In Powershell, chiama lo script utilizzando il comando

& "X:\FirstScript.ps1"

Primo script di PowerShell

Cos'è PowerShell ISE?

. Windows PowerShell Integrated Scripting Environment (ISE) è l'editor predefinito per Windows PowerShell. In questo ISE è possibile eseguire comandi, test di scrittura ed eseguire il debug di script in un ambiente GUI basato su finestra. Puoi eseguire la modifica su più righe, la colorazione della sintassi, il completamento delle schede, l'esecuzione selettiva e molte altre cose.

Windows PowerShell ISE consente inoltre di eseguire comandi in un riquadro della console. Tuttavia, supporta anche riquadri che puoi utilizzare per visualizzare simultaneamente il codice sorgente del tuo script e altri strumenti che puoi collegare a ISE.

Puoi anche aprire più finestre di script contemporaneamente. Ciò è particolarmente utile quando stai eseguendo il debug di uno script che usa funzioni definite in altri script o moduli.

Power Shell ISE

Power Shell ISE

Lo stesso script che abbiamo creato nel Blocco note può essere creato in ISE

  1. Incolla il codice nell'editor
  2. Salva copione
  3. Utilizzare F5 per eseguire lo script
  4. Osservare l'output nella console

Power Shell ISE

Esempio 2:

Il seguente codice fornirà il Free Memoria virtuale nella tua macchina

Get-WmiObject -Class Win32_OperatingSystem –ComputerName localhost |
Select-Object -Property CSName,FreeVirtualMemory 

Power Shell ISE

PowerShell Concepts

Ora in questo tutorial di Powershell per principianti, impareremo importanti concetti di Powershell:

Cmdlet I cmdlet sono comandi di compilazione scritti in linguaggi .net come VB o C#. Consente agli sviluppatori di estendere il set di cmdlet caricando e scrivendo snap-in di PowerShell.
funzioni Le funzioni sono comandi scritti nel linguaggio PowerShell. Può essere sviluppato senza utilizzare altri IDE simili Di Visual Studio e sviluppatori.
Script Gli script sono file di testo su disco con estensione .ps1
Applicazioni Le applicazioni sono programmi Windows esistenti.
Cosa succede se Indica al cmdlet di non essere eseguito, ma di indicare cosa accadrebbe se il cmdlet venisse eseguito.
Confermare Indicare al cmdlet di richiedere una richiesta prima di eseguire il comando.
verboso Fornisce un livello di dettaglio più elevato.
Mettere a punto Indica al cmdlet di fornire informazioni di debug.
ErrorAzione Indica al cmdlet di eseguire un'azione specifica quando si verifica un errore. Le azioni consentite continuano, si fermano, continuano in silenzio e indagano.
VariabileErrore Specifica la variabile che contiene le informazioni sull'errore.
OutVariabile Indica al cmdlet di utilizzare una variabile specifica per contenere le informazioni di output
FuoriBuffer Indica al cmdlet di conservare il numero specifico di oggetti prima di chiamare il cmdlet successivo nella pipeline.

Vantaggi dell'utilizzo dello script PowerShell

  • Gli script di PowerShell sono davvero potenti e potrebbero fare molte cose in meno righe.
  • Le variabili sono dichiarate nella forma $
  • Le variabili potrebbero essere utilizzate per contenere l'output di comandi, oggetti e valori.
  • Non è necessario specificare il “tipo” di una variabile.

PowerShell contro. Prompt dei comandi

PowerShell Prompt dei comandi
PowerShell si integra profondamente con Windows sistema operativo. Offre un'interfaccia a riga di comando interattiva e un linguaggio di scripting. Il prompt dei comandi è un'interfaccia della riga di comando predefinita fornita da Microsoft. È una semplice applicazione Win32 che può interagire e parlare con qualsiasi oggetto Win32 nel file Windows sistema operativo.
PowerShell utilizza i cosiddetti cmdlet. Può essere richiamato nell'ambiente runtime o negli script di automazione. Nessuna di queste funzionalità è offerta dal prompt dei comandi.
PowerShell li considera come oggetti. Pertanto l'output può essere passato come input ad altri cmdlet tramite la pipeline. Prompt dei comandi o anche la shell *nix, l'output generato da un cmdlet non è solo un flusso di testo ma una raccolta di oggetti.
PowerShell è molto avanzato in termini di funzionalità, capacità e funzionamento interno. Il prompt dei comandi è molto semplice.

Applicazioni di PowerShell

Oggi PowerShell è diventata la scelta ideale per gli amministratori IT poiché semplifica le operazioni e gli sforzi di gestione nelle grandi reti aziendali. Ad esempio, supponiamo che tu stia gestendo una rete di grandi dimensioni che contiene più di quattrocento server. Ora vuoi implementare una nuova soluzione di sicurezza. Questa soluzione di sicurezza dipende da un determinato servizio che deve essere eseguito su quei server.

Puoi sicuramente accedere a ciascun server e vedere se quel servizio è installato e funzionante o meno. Tuttavia, sono sicuramente necessari molti errori umani poiché il personale deve dedicare molto tempo a questo processo non produttivo.

Tuttavia, se utilizzi PowerShell, potresti completare questa attività in pochi minuti. Questo perché l'intera operazione viene eseguita con un unico script che raccoglie informazioni sui servizi in esecuzione sui server.

Sintesi

  • Windows PowerShell è un motore di automazione orientato agli oggetti e un linguaggio di scripting
  • Powershell offre un'esperienza della riga di comando ben integrata per il sistema operativo
  • La prima versione 1.0 di PowerShell è stata rilasciata nel 2006
  • PowerShell consente di richiamare script e cmdlet su un computer remoto
  • PowerShell è preinstallato in tutte le versioni più recenti di Windows
  • Un cmdlet è un comando leggero utilizzato nell'ambiente PowerShell di base Windows
  • Get, Start, Out, Stop, Set, New sono comandi importanti di PowerShell
  • Boolean, Byte, Chat, Decimal, Decimal, Long sono tipi di dati importanti di PowerShell
  • $Errore. $Host, $Profile, $PID, $PSUICulture, $NULL sono alcune variabili speciali utilizzate in PowerShell
  • . Windows PowerShell Integrated Scripting Environment (ISE) è l'editor predefinito per PowerShell
  • PowerShell si integra profondamente con Windows Sistema operativo mentre il prompt dei comandi è un'interfaccia della riga di comando predefinita fornita da Microsoft
  • PowerShell è diventata la scelta ideale per gli amministratori IT poiché semplifica le operazioni e gli sforzi di gestione nelle grandi reti aziendali