Condividi tramite


Installazione di Windows PowerShell SDK

Si applica a: Windows PowerShell 2.0, Windows PowerShell 3.0

L'argomento seguente descrive come installare PowerShell SDK in versioni diverse di Windows.

Installazione di Windows PowerShell 3.0 SDK per Windows 8 e Windows Server 2012

Windows PowerShell 3.0 viene installato automaticamente con Windows 8 e Windows Server 2012. Inoltre, è possibile scaricare e installare gli assembly di riferimento per Windows PowerShell 3.0 come parte di Windows 8 SDK. Questi assembly consentono di scrivere cmdlet, provider e programmi host per Windows PowerShell 3.0. Quando si installa Windows SDK per Windows 8, gli assembly di Windows PowerShell vengono installati automaticamente nella cartella dell'assembly di riferimento, in \Program Files (x86)\Reference Assemblies\Microsoft\WindowsPowerShell\3.0. Per altre informazioni, vedere il sito di download di Windows 8 SDK. Gli esempi di codice di Windows PowerShell sono disponibili anche nel repository powershell-sdk-samples.

Assembly di riferimento

Per impostazione predefinita, gli assembly di riferimento vengono installati nel percorso seguente: C:\Program Files\Reference Assemblies\Microsoft\WindowsPowerShell\V1.0.

Nota

Il codice compilato in base agli assembly di Windows PowerShell 2.0 non può essere caricato nelle installazioni di Windows PowerShell 1.0. Tuttavia, il codice compilato in base agli assembly di Windows PowerShell 1.0 può essere caricato nelle installazioni di Windows PowerShell 2.0.

Esempi

Per impostazione predefinita, gli esempi di codice vengono installati nel percorso seguente: C:\Program Files\Microsoft SDKs\Windows\v7.0\Samples\sysmgmt\WindowsPowerShell\. Le sezioni seguenti forniscono una breve descrizione delle operazioni di ogni esempio.

Esempi di cmdlet

  • GetProcessSample01: illustra come scrivere un cmdlet semplice che ottiene tutti i processi nel computer locale.
  • GetProcessSample02: illustra come aggiungere parametri al cmdlet . Il cmdlet accetta uno o più nomi di processo e restituisce i processi corrispondenti.
  • GetProcessSample03: illustra come aggiungere parametri che accettano l'input dalla pipeline.
  • GetProcessSample04: illustra come gestire gli errori non irreversibili.
  • GetProcessSample05: mostra come visualizzare un elenco di processi specificati.
  • SelectObject : mostra come scrivere un filtro per selezionare solo determinati oggetti.
  • SelectString: mostra come cercare i file per i modelli specificati.
  • StopProcessSample01: illustra come implementare un parametro PassThru e come richiedere commenti e suggerimenti degli utenti tramite chiamate ai metodi ShouldProcess e ShouldContinue. Gli utenti specificano il parametro PassThru quando vogliono forzare il cmdlet a restituire un oggetto.
  • StopProcessSample02: illustra come arrestare un processo specifico.
  • StopProcessSample03: illustra come dichiarare alias per i parametri e come supportare i caratteri jolly.
  • StopProcessSample04: illustra come dichiarare i set di parametri, l'oggetto che il cmdlet accetta come input e come specificare il set di parametri predefinito da usare.

Esempi di comunicazione remota

  • RemoteRunspace01: illustra come creare uno spazio di esecuzione remoto usato per stabilire una connessione remota.
  • RemoteRunspacePool01: illustra come costruire un pool di spazi di esecuzione remoto e come eseguire più comandi contemporaneamente usando questo pool.
  • Serialization01: illustra come esaminare una classe .NET esistente e assicurarsi che le informazioni delle proprietà pubbliche selezionate di questa classe vengano mantenute durante la serializzazione/deserializzazione.
  • Serialization02 : illustra come esaminare una classe .NET esistente e assicurarsi che le informazioni dell'istanza di questa classe vengano mantenute durante la serializzazione/deserializzazione quando le informazioni non sono disponibili nelle proprietà pubbliche della classe .
  • Serialization03: illustra come esaminare una classe .NET esistente e assicurarsi che le istanze di questa classe e delle classi derivate vengano deserializzate (riattivate) in oggetti .NET attivi.

Esempi di eventi

  • Event01: illustra come creare un cmdlet per la registrazione degli eventi derivando da ObjectEventRegistrationBase.
  • Event02: illustra come ricevere notifiche di eventi di Windows PowerShell generati nei computer remoti. Usa l'evento PSEventReceived esposto tramite la classe Runspace.

Esempi di applicazioni di hosting

  • Runspace01: illustra come usare la classe PowerShell per eseguire il cmdlet Get-Process in modo sincrono. Il cmdlet Get-Process restituisce oggetti Process per ogni processo in esecuzione nel computer locale.
  • Runspace02: illustra come usare la classe PowerShell per eseguire i cmdlet Get-Process e Sort-Object in modo sincrono. Il cmdlet Get-Process restituisce oggetti Process per ogni processo in esecuzione nel computer locale e l'Sort-Object ordina gli oggetti in base alla relativa proprietà Id. I risultati di questi comandi vengono visualizzati usando un controllo DataGridView.
  • Runspace03: illustra come usare la classe PowerShell per eseguire uno script in modo sincrono e come gestire gli errori non irreversibili. Lo script riceve un elenco di nomi di processo e quindi recupera tali processi. I risultati dello script, inclusi eventuali errori non irreversibili generati durante l'esecuzione dello script, vengono visualizzati in una finestra della console.
  • Runspace04: illustra come usare la classe PowerShell per eseguire i comandi e come rilevare gli errori di terminazione generati durante l'esecuzione dei comandi. Vengono eseguiti due comandi e l'ultimo comando viene passato un argomento parametro non valido. Di conseguenza, non vengono restituiti oggetti e viene generato un errore irreversibile.
  • Runspace05 : mostra come aggiungere uno snap-in a un oggetto InitialSessionState in modo che il cmdlet dello snap-in sia disponibile all'apertura dello spazio di esecuzione. Lo snap-in fornisce un cmdlet Get-Proc (definito dall'esempio GetProcessSample01) che viene eseguito in modo sincrono usando un oggetto PowerShell.
  • Runspace06: mostra come aggiungere un modulo a un oggetto InitialSessionState in modo che il modulo venga caricato quando viene aperto lo spazio di esecuzione. Il modulo fornisce un cmdlet Get-Proc (definito dall'esempio GetProcessSample02) che viene eseguito in modo sincrono usando un oggetto PowerShell.
  • Runspace07: illustra come creare uno spazio di esecuzione e quindi usare tale spazio di esecuzione per eseguire due cmdlet in modo sincrono usando un oggetto PowerShell.
  • Runspace08: illustra come aggiungere comandi e argomenti alla pipeline di un oggetto PowerShell e come eseguire i comandi in modo sincrono.
  • Runspace09 : illustra come aggiungere uno script alla pipeline di un oggetto PowerShell e come eseguire lo script in modo asincrono. Gli eventi vengono usati per gestire l'output dello script.
  • Runspace10: illustra come creare uno stato di sessione iniziale predefinito, come aggiungere un cmdlet a InitialSessionState, come creare uno spazio di esecuzione che usa lo stato iniziale della sessione e come eseguire il comando usando un oggetto PowerShell.
  • Runspace11: illustra come usare la classe ProxyCommand per creare un comando proxy che chiama un cmdlet esistente, ma limita il set di parametri disponibili. Il comando proxy viene quindi aggiunto a uno stato di sessione iniziale usato per creare uno spazio di esecuzione vincolato. Ciò significa che l'utente può accedere alla funzionalità del cmdlet solo tramite il comando proxy.
  • PowerShell01: illustra come creare uno spazio di esecuzione vincolato usando un oggetto InitialSessionState.
  • PowerShell02: illustra come usare un pool di spazi di esecuzione per eseguire più comandi contemporaneamente.

Esempi di host

  • Host01: illustra come implementare un'applicazione host che usa un host personalizzato. In questo esempio viene creato uno spazio di esecuzione che usa l'host personalizzato e quindi l'API di PowerShell viene usata per eseguire uno script che chiama exit. L'applicazione host esamina quindi l'output dello script e stampa i risultati.
  • Host02: illustra come scrivere un'applicazione host che usa il runtime di Windows PowerShell insieme a un'implementazione host personalizzata. L'applicazione host imposta le impostazioni cultura host sul tedesco, esegue il cmdlet di Get-Process e visualizza i risultati come vengono visualizzati usando pwrsh.exee quindi stampa i dati e l'ora correnti in tedesco.
  • Host03: illustra come compilare un'applicazione host interattiva basata su console che legge i comandi dalla riga di comando, esegue i comandi e quindi visualizza i risultati nella console.
  • Host04: illustra come compilare un'applicazione host interattiva basata su console che legge i comandi dalla riga di comando, esegue i comandi e quindi visualizza i risultati nella console. Questa applicazione host supporta anche la visualizzazione di richieste che consentono all'utente di specificare più scelte.
  • Host05: illustra come compilare un'applicazione host interattiva basata su console che legge i comandi dalla riga di comando, esegue i comandi e quindi visualizza i risultati nella console. Questa applicazione host supporta anche le chiamate ai computer remoti usando i cmdlet Enter-PSSession e Exit-PSSession.
  • Host06: illustra come compilare un'applicazione host interattiva basata su console che legge i comandi dalla riga di comando, esegue i comandi e quindi visualizza i risultati nella console. Inoltre, questo esempio usa le API tokenizer per specificare il colore del testo immesso dall'utente.

Esempi di provider

  • AccessDBProviderSample01: illustra come dichiarare una classe provider che deriva direttamente dalla classe CmdletProvider. Qui è incluso solo per completezza.

  • AccessDBProviderSample02: illustra come sovrascrivere i metodi NewDrive e RemoveDrive per supportare le chiamate ai cmdlet New-PSDrive e Remove-PSDrive. La classe provider in questo esempio deriva dalla classe DriveCmdletProvider.

  • AccessDBProviderSample03: illustra come sovrascrivere i metodi GetItem e SetItem per supportare le chiamate ai cmdlet Get-Item e Set-Item. La classe provider in questo esempio deriva dalla classe ItemCmdletProvider.

  • AccessDBProviderSample04: illustra come sovrascrivere i metodi del contenitore per supportare le chiamate ai cmdlet Copy-Item, Get-ChildItem, New-Iteme Remove-Item. Questi metodi devono essere implementati quando l'archivio dati contiene elementi che sono contenitori. Un contenitore è un gruppo di elementi figlio in un elemento padre comune. La classe provider in questo esempio deriva dalla classe ItemCmdletProvider.

  • AccessDBProviderSample05: illustra come sovrascrivere i metodi del contenitore per supportare le chiamate ai cmdlet Move-Item e Join-Path. Questi metodi devono essere implementati quando l'utente deve spostare gli elementi all'interno di un contenitore e se l'archivio dati contiene contenitori annidati. La classe provider in questo esempio deriva dalla classe NavigationCmdletProvider.

  • AccessDBProviderSample06: illustra come sovrascrivere i metodi di contenuto per supportare le chiamate ai cmdlet Clear-Content, Get-Contente Set-Content. Questi metodi devono essere implementati quando l'utente deve gestire il contenuto degli elementi nell'archivio dati. La classe provider in questo esempio deriva dalla classe NavigationCmdletProvider e implementa l'interfaccia IContentCmdletProvider.