Windows PowerShell è uno strumento estremamente potente a disposizione degli amministratori di sistema. Il suo linguaggio di scripting basato sul framework .NET è stato definito proprio pensando a questa figura professionale.

Imparare ad utilizzare la Windows PowerShell può essere un elemento di distinzione e di facilitazione nella attività quotidiana di amministrazione e manutenzione di sistemi.

Windows PowerShell include:

  • un insieme di comandi identificati come commandlets
  • un potente linguaggio di scripting
  • l’accesso a tutti gli oggetti del sistema e delle applicazioni così come definiti nelle librerie COM (Component Object Model), nel framework .NET e nella WMI (Windows Management Instrumentation)
  • una metodologia di navigazione tra i diversi sistemi di memorizzazione delle informazioni (file system, registry, certificati, Active Directory, ecc.)
  • adeguati strumenti per la gestione della sicurezza e la prevenzione circa l’esecuzione di script non desiderati
  • opportune funzionalità di tracing e di debugging
Contenuti nascondi

Cos’è Windows Powershell

PowerShell è una soluzione di automazione di attività multipiattaforma costituita da una shell della riga di comando, un linguaggio di scripting e un Framework di gestione della configurazione. PowerShell viene eseguito in Windows, Linux e macOS.

Definizione di Shell

PowerShell è una shell dei comandi moderna, progettata specificatamente per un utilizzo da parte degli amministratori di sistema e può essere utilizzata per eseguire tutti i comandi di cmd.exe, che include le funzionalità migliori di altre shell popolari. A differenza della maggior parte delle shell che accettano e restituiscono testo, PowerShell accetta e restituisce oggetti .NET. La shell include le funzionalità seguenti:

  • Cronologia della riga di comando affidabile
  • Completamento tramite TAB e stima del comando (vedere about_PSReadLine)
  • Supporta gli alias di comandi e parametri
  • Pipeline per i comandi di concatenamento
  • Sistema della [Guida][] nella console, simile alle man pagine UNIX

La shell o interprete dei comandi è un programma che consente di interagire con il sistema operativo attraverso un terminale e un’interfaccia a riga di comando. Utilizzando la shell è possibile impartire comandi al sistema e aprire programmi.

Windows PowerShell è una shell avanzata integrata in tutti i sistemi operativi Microsoft a partire da Windows 7. Include un prompt interattivo e un ambiente di script che possono essere utilizzati singolarmente o in combinazione tra loro.

PowerShell consente di interagire con il sistema operativo, sfruttando gli strumenti disponibili da riga di comando e utilizzando la sua capacità di programmazione di script per automatizzare il lavoro di routine.

Caratteristiche e vantaggi di PowerShell

Integrazione con Microsoft .NET Framework

.NET Framework è un ambiente di esecuzione gestita per Windows che fornisce una vasta gamma di servizi alle app in esecuzione. I comandi degli script PowerShell hanno accesso alle risorse del .NET Framework, come avviene per i linguaggi di programmazione come C#

Orientamento agli oggetti

A differenza della maggior parte delle shell che accettano e restituiscono puro testo, tutti i comandi di PowerShell che generano un output restituiscono oggetti .NET Framework eliminando l’esigenza di analizzare il testo nel caso in cui l’output di un comando costituisca l’input per un comando successivo.

Command-Let

Windows PowerShell introduce il concetto di command-let o cmdlet, uno strumento da riga di comando con una singola funzione incorporato nella shell. I cmdlet di sistema disponibili sono più di cento. Inoltre, è possibile scrivere cmdlet personalizzati e condividerli con altri utenti. Ogni cmdlet può essere utilizzato separatamente oppure in combinazione con altri per eseguire attività complesse.

Studiata per gli amministratori di sistema

PowerShell incorpora funzionalità rivolte agli amministratori di sistema, come la possibilità di operare su computer remoti, accedere al registro di sistema di Windows e avviare o arrestare servizi.

Interagire con Windows PowerShell

Tutti i comandi nel prompt di Windows sono disponibili e possono essere utilizzati anche in PowerShell. Possiamo utilizzare i simboli di direzione > per inviare l’output su un file oppure >> per aggiungerlo a un file.

PowerShell utilizza degli alias per associare i comandi di cmd.exe ai suoi cmdlet. Ad esempio, il comando cd è un alias cmdlet set-location così come dir è un alias del cmdlet get-children. PowerShell può essere utilizzata per lanciare comandi eseguibili o per lavorare direttamente sul registro di sistema di Windows senza usare il suo editor.

Uno dei punti di forza di questa shell sono i suoi cmdlet. Ogni cmdlet è rappresentato da un verbo, seguito da un trattino e da un nome. Per visualizzare l’elenco completo di tutti i comandi disponibili digitiamo get-command. Per avere informazioni relative a un cmdlet specifico digitiamo get-help seguito del nome del cmdlet.

L’operatore pipe, la barra verticale |, permette di inviare l’output di un cmdlet a un altro cmdlet che a sua volta lo utilizzerà come input. Utilizzando il pipe possiamo connettere tutti i cmdlet necessari, ovviamente a condizione che il cmdlet successivo sia capace di interpretare l’output prodotto da quello precedente.
Come abbiamo spiegato precedentemente i cmdlet restituiscono puri oggetti .NET e non testo. Per questo motivo un cmdlet che si trova a destra di un operatore di pipe può operare direttamente sulle proprietà o i metodi dell’output prodotto dal cmdlet precedente.

Per chi desidera imparare ad utilizzare Windows PowerShell è consigliata la frequenza dei corsi ufficiali Microsoft Learning MOC 10961 – Automating Administration with Windows PowerShell e MOC 10962 – Advanced Automated Administration With Windows PowerShell

PowerShell

Corso MOC 10961 – Automating Administration with Windows PowerShell

Questo corso ha l’obiettivo di mettere in grado gli allievi di utilizzare la Windows PowerShell per gestire da remoto server Windows-based e per automatizzare i task quotidiani di amministrazione e di gestione.

Il corso si focalizza innazitutto sulle funzionalità e sull’utilizzo della command-line e fornisce i prerequisiti necessari a utilizzare la PowerShell in ambienti diversi (Windows Server, Windows Client, Exchange Server, SharePoint Server, Sql Server, System Center). Va precisato che questo corso non si focalizza sui suddetti prodotti. Viene utilizzato Windows Server come ambiente di esempio per apprendere le tecniche di utilizzo della PowerShell.

Gli allievi imparano a scivere script nel nuovo ambiente Integrated Scripting Environment (ISE) e imparano inoltre a eseguire e monitorare gli script approfondendo concetti quali connettività, funzionalità di workflow, job scheduling, PowerShell Web Access.

Va precisato che questo non è un corso di programmazione e include soltanto concetti di base relativi a scripting e programmazione. Non è necessario avere già esperienza su scripting e programmazione e non è necessario avere precedente esperienza con l’utilizzo della PowerShell.

Durata del corso

Il corso MOC 10961 – Automating Administration with Windows PowerShell ha durata di 5 giorni, fruibili Online tramite e-learning oppure On-site presso la sede del cliente.

Programma del corso MOC 10961

Module 1: Getting started with Windows PowerShell

  • Overview and Background
  • Finding and Learning Commands
  • Running Commands

Module 2: Working with the Pipeline

  • Understanding the Pipeline
  • Selecting, Sorting, and Measuring Objects
  • Converting, Exporting, and Importing Objects
  • Filtering Objects Out of the Pipeline
  • Enumerating Objects in the Pipeline

Module 3: Understanding How the Pipeline Works

  • Passing Data in the Pipeline By Value
  • Passing Data in the Pipeline By Property Name

Module 4: Using PSProviders and PSDrives

  • Using PSProviders
  • Using PSDrives

Module 5: Formatting Output

  • Using Basic Formatting
  • Using Advanced Formatting
  • Redirecting Formatted Output

Module 6: Querying Management Information by Using WMI and CIM

  • Understanding WMI and CIM
  • Querying Data with WMI and CIM
  • Making Changes by Using WMI and CIM

Module 7: Preparing for Scripting

  • Using Variables
  • Scripting Security

Module 8: Moving From a Command to Script to Module

  • Moving From Command to Script
  • Moving From Script to Function to Module
  • Implementing Basic Error Handling
  • Using Basic Scripting Constructs
  • Exploring Other Scripting Features

Module 9: Administering Remote Computers

  • Using Basic Remoting
  • Using Advanced Remoting Techniques
  • Using Remoting Sessions

Module 10: Putting it All Together

  • Provisioning a New Server Core Instance

Module 11: Using Background Jobs and Scheduled Jobs

  • Using Background Jobs
  • Using Scheduled Jobs

Module 12: Using Profiles and Advanced PowerShell Techniques

  • Using Advanced PowerShell Techniques
  • Creating Profile Scripts
  • Working With Alternative Credentials

Scarica il programma del corso MOC 10961 – Automating Administration with Windows PowerShell

Requisiti del corso MOC 10961

Il Corso MOC 10961 è rivolto a:

  • IT Professional con buona esperienza nella amministrazione di sistemi Microsoft Windows Server e Microsoft Windows Client
  • Esperti nell’amministrazione e supporto di application server Microsoft

Prerequisiti:

  • esperienza nella attività di supporto e configurazione di sistemi Windows Server e Client (è preferibile, ma non necessario che l’esperienza sia su Windows Server 2016 e su Windows 10);
  • esperienza nella installazione di sistemi Windows Server, sia standalone che in ambienti enterprise;
  • esperienza nella configurazione di adattatori di rete;
  • esperienza di base nella amministrazione di Active Directory;
  • esperienza di base nella configurazione di dischi.

Cosa saprai fare alla fine del Corso Windows Server 2012 – MOC 10961

Al termine del corso i partecipanti saranno in grado di:

  • comprendere i concetti di base della Powershell;
  • lavorare con la Pipeline;
  • comprendere come lavora la Pipeline;
  • utilizzare PSProviders e PSDrives;
  • formattare l’output;
  • utilizzare WMI e CIM;
  • prepararsi ad utilizzare tecniche di scripting;
  • passare da un Comando a uno Script a un Modulo;
  • amministrare computer remoti;
  • mettere insieme diversi componenti della PowerShell;
  • utilizzare Backgriund jobs;
  • utilizzare Scheduled jobs;
  • utilizzare tecniche avanzate della PowerShell e profili.
PowerShell-1

Corso MOC 10962 – Advanced Automated Administration with Windows Powershell

Questo corso insegna agli allievi come automatizzare task di tipo amministrativo mediante l’utilizzo della Windows PowerShell. Gli studenti apprendono competenze di scripting tra cui la creazione di funzioni avanzate, la scrittura di controller, e la gestione degli errori. Inoltre, imparano come lavorare con Windows PowerShell Workflow, con REST API e XML e con file JSON formatted. Sono argomenti del corso anche l’utilizzo di nuovi strumenti di amministrazione come Desired State Configuration (DSC) e Just Enough Administration (JEA) per configurare e rendere sicuri i server.

Durata del corso

Il corso MOC 10962 – Advanced Automated Administration With Windows PowerShell ha durata di 3 giorni, fruibili Online tramite e-learning oppure On-site presso la sede del cliente.

Programma del corso MOC 10962

Module 1: Creating advanced functions

  • Converting a command into an advanced function
  • Creating a script module
  • Defining parameter attributes and input validation
  • Writing functions that accept pipeline input
  • Producing complex pipeline output
  • Documenting functions by using comment-based help
  • Supporting – WhatIf and – Confirm

Module 2: Using Microsoft .NET Framework and REST API in Windows PowerShell

  • Using Microsoft .NET Framework in Windows PowerShell
  • Using REST API in Windows PowerShell

Module 3: Writing controller scripts

  • Introducing controller scripts
  • Writing controller scripts that display a user interface
  • Writing controller scripts that produce reports

Module 4: Handling script errors

  • Understanding error handling
  • Handling errors and timeouts in a script

Module 5: Using XML, JSON, and custom-formatted data

  • Reading, manipulating, and writing XML-formatted data
  • Reading, manipulating, and writing JSON-formatted data
  • Reading and manipulating custom-formatted data

Module 6: Enhancing server management with Desired State Configuration and Just Enough Administration

  • Understanding Desired State Configuration
  • Creating and deploying a DSC configuration
  • Implementing Just Enough Administration

Module 7: Analyzing and debugging scripts

  • Debugging in Windows PowerShell
  • Analyzing and debugging an existing script

Module 8: Understanding Windows PowerShell Workflow

  • Understanding Windows PowerShell Workflow

Scarica il programma del corso MOC 10962 – Advanced Automated Administration with Windows Powershell

Requisiti del corso MOC 10962

Il Corso MOC 10962 è rivolto a: 

  • IT Professional con buona esperienza nella amministrazione di sistemi Microsoft Windows Server e Microsoft Windows Client.

Prerequisiti:

  • esperienza nella attività di supporto e configurazione di sistemi Windows Server e Client;
  • esperienza nella installazione di sistemi Windows Server, sia standalone che in ambienti enterprise;
  • esperienza nella configurazione e implementazione di tecnologie di rete;
  • esperienza nell’uso della Windows PowerShell per l’esecuzione di comandi e per la creazione di script non modularizzati.

E’ vivamente consigliato aver frequentato il corso MOC 10961 – Automating Administration with Windows PowerShell

Cosa saprai fare alla fine del Corso Windows Server 2012 – MOC 10962

Al termine del corso i partecipanti saranno in grado di:

  • Create advanced functions.
  • Use Microsoft .NET Framework and REST API in Windows PowerShell.
  • Write controller scripts.
  • Handle script errors.
  • Use XML, JSON, and custom formatted data.
  • Enhance server management with Desired State Configuration and Just Enough Administration.
  • Analyze and debug scripts
  • Understand Windows PowerShell workflow.

Nexsys attiva corsi Microsoft Windows online e in presenza presso le sedi dei clienti su tutto il territorio nazionale. Scopri i nostri hub: Verona, Brescia, Mantova, Vicenza, Trento, Bolzano, Padova e dintorni.