Tutorial di PowerShell per principianti: scopri gli script di PowerShell
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
Passo 2) Si apre la finestra Power Shell
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
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
Ottieni assistenza: Trova tutti i cmdlet contenenti la parola "servizio".
Esempio: ottieni tutti i servizi che iniziano con "vm"
Get-Service "vm*"
Ottieni membro: Mostra cosa si può fare con un oggetto
Esempio: ottenere i membri dei processi VM.
Get-Service "vm*" | Get-Member
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:
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".
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"
Passo 2) Inserisci i seguenti comandi
- Get-ExecutionPolicy
- Politica di esecuzione dei set senza restrizioni
- Immettere Y nel prompt
- Get-ExecutionPolicy
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
In Powershell, chiama lo script utilizzando il comando
& "X:\FirstScript.ps1"
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.
Lo stesso script che abbiamo creato nel Blocco note può essere creato in ISE
- Incolla il codice nell'editor
- Salva copione
- Utilizzare F5 per eseguire lo script
- Osservare l'output nella console
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
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