about_requires

TOPIC
    about_requires

SHORT DESCRIPTION
    Prevents a script from running by requiring the specified snap-ins and
    version.

LONG DESCRIPTION
    The #Requires statement prevents a script from running unless the Windows
    PowerShell version, snap-in, and snap-in version prerequisites are met. If
    the prerequisites are not met, Windows PowerShell does not run the script.

    You can use #Requires statements in any script. You cannot use them in
    Functions, cmdlets, or snap-ins.

Syntax

     Use the following syntax to specify the snap-in and the version of the
     snap-in that you want to require:

         #requires –PsSnapIn <PsSnapIn> [-Version <N>[.<n>]]

     Use the following syntax to specify the minimum version of
     Windows PowerShell that you want to require:

         #requires -Version <N>[.<n>]

     Use the following syntax to specify the shell that you want to require:

         #requires –ShellId <ShellId>

Rules for Use

     – The #Requires statement must be the first item on a line in a script.

     – A script can include more than one #Requires statement.

     – The #Requires statements can appear on any line in a script.

Examples

     The following statement requires the Microsoft.PowerShell.Security
     snap-in:

         #requires –PsSnapIn Microsoft.PowerShell.Security

     If the Microsoft.PowerShell.Security snap-in is not loaded, the script
     does not run, and Windows PowerShell displays the following error
     message:

         “The script ‘<script-name>’ cannot be run because the following
         Windows PowerShell snap-ins that are specified by its “#requires”
         statements are missing: Microsoft.PowerShell.Security.”

     The following statement requires the Windows PowerShell 2.0 version or
     any later version of the Microsoft.PowerShell.Security snap-in:

         #requires –PsSnapIn Microsoft.PowerShell.Security –Version 2

     The following statement requires Windows PowerShell 2.0 or a later
     version:

         #requires –Version 2.0

     The following script has two #Requires statements. The requirements
     specified in both statements must be met. Otherwise, the script will not
     run. Each #Requires statement must be the first item on a line:

         #requires –PsSnapIn Microsoft.PowerShell.Security –Version 2
         Get-WmiObject WIN32_LogicalDisk | Out-File K:\status\DiskStatus.txt
         #requires –Version 2

     The following #Requires statement prevents a script from running if the
     specified shell ID does not match the current shell ID. The current
     shell ID is stored in the $ShellId Variable:

         #requires –ShellId MyLocalShell

SEE ALSO
    about_Automatic_Variables
    about_Language_Keywords
    about_PSSnapins
    Get-PSSnapin