Powershell - Scripting

Windows PowerShell è un file command-line shell e scripting languageprogettato appositamente per l'amministrazione del sistema. Il suo analogo in Linux è chiamato Bash Scripting. Basato su .NET Framework, Windows PowerShell aiuta i professionisti IT a controllare e automatizzare l'amministrazione del sistema operativo Windows e delle applicazioni eseguite in ambiente Windows Server.

Comandi di Windows PowerShell, chiamati cmdlets, consentono di gestire i computer dalla riga di comando. I provider di Windows PowerShell consentono di accedere agli archivi dati, come il registro e l'archivio certificati, con la stessa facilità con cui si accede al file system.

Inoltre, Windows PowerShell ha un ricco parser di espressioni e un linguaggio di scripting completamente sviluppato. Quindi in parole semplici puoi completare tutte le attività che fai con la GUI e molto altro ancora. Windows PowerShell Scripting è un linguaggio di scripting completamente sviluppato e dispone di un ricco parser di espressioni /

Caratteristiche

  • Cmdlets - I cmdlet eseguono attività comuni di amministrazione del sistema, ad esempio la gestione del registro, i servizi, i processi, i registri eventi e l'utilizzo di Strumentazione gestione Windows (WMI).

  • Task oriented - Il linguaggio di scripting di PowerShell è basato su attività e fornisce supporti per script esistenti e strumenti da riga di comando.

  • Consistent design- Poiché i cmdlet e gli archivi dati di sistema utilizzano una sintassi comune e hanno convenzioni di denominazione comuni, la condivisione dei dati è semplice. L'output di un cmdlet può essere pipeline a un altro cmdlet senza alcuna manipolazione.

  • Simple to Use - La navigazione semplificata e basata sui comandi consente agli utenti di navigare nel registro e in altri archivi dati simili alla navigazione nel file system.

  • Object based- PowerShell possiede potenti capacità di manipolazione degli oggetti. Gli oggetti possono essere inviati direttamente ad altri strumenti o database.

  • Extensible interface. - PowerShell è personalizzabile poiché i fornitori di software indipendenti e gli sviluppatori aziendali possono creare strumenti e utilità personalizzati utilizzando PowerShell per amministrare il proprio software.

Variabili

Le variabili di PowerShell sono oggetti denominati. Poiché PowerShell funziona con gli oggetti, queste variabili vengono utilizzate per lavorare con gli oggetti.

Creazione variabile

Il nome della variabile deve iniziare con $ e può contenere caratteri alfanumerici e trattini bassi nei loro nomi. È possibile creare una variabile digitando un nome di variabile valido.

Digita il seguente comando nella console ISE di PowerShell. Supponendo che tu sia nella cartella D: \ test.

$location = Get-Location

Qui abbiamo creato una variabile $ location e le abbiamo assegnato l'output del cmdlet Get-Location. Ora contiene la posizione corrente.

Utilizzando variabile

Digita il seguente comando nella console ISE di PowerShell.

$location

Produzione

Puoi vedere il seguente output nella console di PowerShell.

Path                                                                                    
----                                                                                    
D:\test

Ottenere informazioni sulla variabile

Il cmdlet Get-Member può indicare il tipo di variabile in uso. Vedi l'esempio sotto.

$location | Get-Member

Produzione

Puoi vedere il seguente output nella console di PowerShell.

TypeName: System.Management.Automation.PathInfo

Name          MemberType   Definition                                               
----          ----------   ----------                                               
Equals        Method       bool Equals(System.Object obj)                           
GetHashCode   Method       int GetHashCode()                                        
GetType       Method       type GetType()                                           
ToString      Method       string ToString()                                        
Drive         Property     System.Management.Automation.PSDriveInfo Drive {get;}    
Path          Property     System.String Path {get;}                                
Provider      Property     System.Management.Automation.ProviderInfo Provider {get;}
ProviderPath  Property     System.String ProviderPath {get;}