about_Requires

Mis à jour: mai 2014

S'applique à: Windows PowerShell 4.0, Windows PowerShell 5.0

RUBRIQUE

about_Requires

DESCRIPTION COURTE

Empêche l'exécution d'un script sans les éléments requis.

DESCRIPTION DÉTAILLÉE

L'instruction #Requires empêche l'exécution d'un script, sauf si la version de Windows PowerShell®, les modules, les composants logiciels enfichables ainsi que la configuration requise pour la version des modules et composants logiciels enfichables sont conformes. Si les conditions ne sont pas remplies, Windows PowerShell n'exécute pas le script.

Vous pouvez utiliser des instructions #Requires dans n'importe quel script. Vous ne pouvez pas les utiliser dans des fonctions, des applets de commande ni des composants logiciels enfichables.

SYNTAXE

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

RÈGLES D'UTILISATION

  • - L'instruction #Requires doit être le premier élément d'une ligne dans un script.

  • - Un script peut inclure plusieurs instructions #Requires.

  • - Les instructions #Requires peuvent apparaître sur n'importe quelle ligne dans un script.

PARAMÈTRES

  -Version <N>[.<n>]

Spécifie la version minimale de Windows PowerShell requise par le script. Entrez un numéro de version majeur et un numéro de version mineur facultatif.

Par exemple :

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

Spécifie un composant logiciel enfichable Windows PowerShell requis par le script. Entrez le nom du composant logiciel enfichable et un numéro de version facultatif.

Par exemple :

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

Spécifie les modules Windows PowerShell requis par le script. Entrez le nom du module et un numéro de version facultatif. Le paramètre Modules est introduit dans Windows PowerShell 3.0.

Si les modules requis ne sont pas dans la session active, Windows PowerShell les importe. Si les modules ne peuvent pas être importés, Windows PowerShell lève une erreur avec fin d'exécution.

Pour chaque module, tapez le nom du module (<chaîne>) ou une table de hachage avec les clés suivantes. La valeur peut être une combinaison de chaînes et de tables de hachage.

  • -- ModuleName. Cette clé est obligatoire.

  • -- ModuleVersion. Cette clé est obligatoire.

  • -- GUID. Cette clé est facultative.

Par exemple,

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

Spécifie l'environnement requis par le script. Entrez l'ID d'environnement.

Par exemple,

        #Requires –ShellId MyLocalShell
  -RunAsAdministrator

Quand ce paramètre de commutateur est ajouté à votre instruction #Requires, il spécifie que la session Windows PowerShell dans laquelle vous exécutez le script doit être démarrée avec des droits utilisateur élevés (Exécuter en tant qu'administrateur).

Par exemple,

        #Requires -RunAsAdministrator

EXEMPLES

Le script suivant possède deux instructions #Requires. Si la configuration requise spécifiée dans les deux instructions n'est pas satisfaite, le script ne s'exécute pas. Chaque instruction #Requires doit être le premier élément sur une ligne :

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

REMARQUES

Dans Windows PowerShell 3.0, les packages Windows PowerShell Core apparaissent sous forme de modules dans les sessions démarrées à l'aide de la méthode InitialSessionState.CreateDefault2, telles que les sessions démarrées dans la console Windows PowerShell. Sinon, ils apparaissent en tant que composants logiciels enfichables. L'exception est Microsoft.PowerShell.Core, qui est toujours un composant logiciel enfichable.

VOIR AUSSI

about_Automatic_Variables

about_Language_Keyword

about_PSSnapins

get-PSSnapin