about_Requires

Aggiornamento: maggio 2014

Si applica a: Windows PowerShell 4.0, Windows PowerShell 5.0

ARGOMENTO

about_Requires

DESCRIZIONE BREVE

Impedisce l'esecuzione di uno script senza gli elementi obbligatori.

DESCRIZIONE LUNGA

L'istruzione #Requires impedisce l'esecuzione di uno script a meno che non soddisfi i prerequisiti della versione Windows PowerShell®, moduli, snap-in, modulo, versione snap-in. Se non vengono soddisfatti i prerequisiti, Windows PowerShell non esegue lo script.

È possibile utilizzare le istruzioni #Requires in qualsiasi script. Non è possibile utilizzarle nelle funzioni, nei cmdlet o snap-in.

SINTASSI

          #Requires -Version <N>[.<n>] 
          #Requires –PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]
          #Requires -Modules { <Module-Name> | <Hashtable> } 
          #Requires –ShellId <ShellId>
          #Requires -RunAsAdministrator

REGOLE PER L'UTILIZZO

  • - L'istruzione #Requires deve essere il primo elemento in una riga in uno script.

  • - Uno script può includere più istruzioni #Requires.

  • - Le istruzioni #Requires possono essere visualizzate in qualsiasi riga di uno script.

PARAMETRI

  -Version <N>[.<n>]

Specifica la versione minima di Windows PowerShell che richiede lo script. Immettere un numero di versione principale e il numero facoltativo di versione secondaria.

Ad esempio:

        #Requires -Version 3.0
  -PSSnapin <PSSnapin-Name> [-Version <N>[.<n>]]

Specifica uno snap-in Windows PowerShell che lo script richiede. Immettere il nome di snap-in e un numero di versione facoltativo.

Ad esempio:

        #Requires –PSSnapin DiskSnapin -Version 1.2
  -Modules <Module-Name> | <Hashtable>

Specifica moduli Windows PowerShell che lo script richiede. Immettere il nome del modulo e un numero di versione facoltativo. Il parametro Modules è stato introdotto in Windows PowerShell 3.0.

Se i moduli necessari non sono presenti nella sessione corrente, Windows PowerShell li importa. Se non è possibile importare i moduli, Windows PowerShell genera un errore di terminazione.

Per ogni modulo, digitare il nome del modulo (<String>) o una tabella hash con le chiavi seguenti. Il valore può essere una combinazione di stringhe e tabelle hash.

  • -- ModuleName. Questa chiave è obbligatoria.

  • -- ModuleVersion. Questa chiave è obbligatoria.

  • -- GUID. Questa chiave è facoltativa.

Ad esempio:

        #Requires -Modules PSWorkflow, @{ModuleName="PSScheduledJob";ModuleVersion=1.0.0.0}
  -ShellId

Specifica la shell richiesta dallo script. Immettere l'ID shell.

Ad esempio:

        #Requires –ShellId MyLocalShell
  -RunAsAdministrator

Quando questo parametro opzionale viene aggiunto all'istruzione dei requisiti, si specifica che la sessione Windows PowerShell in cui si esegue lo script deve essere avviata con diritti utente elevati (Esegui come amministratore).

Ad esempio:

        #Requires -RunAsAdministrator

ESEMPI

Lo script seguente ha due istruzioni #Requires. Se non vengono soddisfatti i requisiti specificati in entrambe le istruzioni, lo script non viene eseguito. Ogni istruzione #Requires deve essere il primo elemento in una riga:

          #Requires –Modules PSWorkflow
          #Requires –Version 3
          Param
         (
             [parameter(Mandatory=$true)]
             [String[]]
             $Path
         )
         ...

NOTE

In Windows PowerShell 3.0, i pacchetti principali Windows PowerShell vengono visualizzati come moduli nelle sessioni avviate utilizzando il metodo InitialSessionState.CreateDefault2, ad esempio le sessioni avviate nella console Windows PowerShell. In caso contrario, vengono visualizzate come snap-in. L'eccezione è Microsoft.PowerShell.Core, che è sempre uno snap-in.

VEDERE ANCHE

about_Automatic_Variables

about_Language_Keyword

about_PSSnapins

get-PSSnapin