about_requires | Easy Powershell 2.0 Reference (original) (raw)

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 [-Version [.]]

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

#requires -Version [.]

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

#requires –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 ‘’ 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

Post navigation