主题 about_Requires 简短说明 通过要求使用指定的管理单元和版本来阻止脚本运行。 详细说明 除非满足 Windows PowerShell 版本、管理单元和管理单元版本先决条件,否则 #Requires 语句 会阻止脚本运行。如果没有满足先决条件,Windows PowerShell 不会运行脚本。 可在任何脚本中使用 #Requires 语句。但不能在函数、cmdlet 或管理单元中使用这些语句。 语法 使用以下语法可以指定您希望要求使用的管理单元和管理单元版本: #requires -PsSnapIn <PsSnapIn> [-Version <N>[.<n>]] 使用以下语法可以指定您希望要求使用的最低 Windows PowerShell 版本: #requires -Version <N>[.<n>] 使用以下语法可以指定您希望要求使用的 shell: #requires -ShellId <ShellId> 使用规则 - #Requires 语句必须是脚本中某一行上的第一项。 - 一个脚本可以包括多个 #Requires 语句。 - #Requires 语句可以出现在脚本中的任意一行。 示例 以下语句要求使用 Microsoft.PowerShell.Security 管理单元: #requires -PsSnapIn Microsoft.PowerShell.Security 如果没有加载 Microsoft.PowerShell.Security 管理单元,则脚本不会运行,Windows PowerShell 将显示以下错误消息: "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." 以下语句要求使用 Windows PowerShell 2.0 版本或 Microsoft.PowerShell.Security 管理单元的任何更高版本: #requires -PsSnapIn Microsoft.PowerShell.Security -Version 2 以下语句要求使用 Windows PowerShell 2.0 或更高版本: #requires -Version 2.0 以下脚本包含两个 #Requires 语句。必须同时满足这两个语句中指定的要求。否则,脚本将不会 运行。每个 #Requires 语句必须是行上的第一项: #requires –PsSnapIn Microsoft.PowerShell.Security –Version 2 Get-WMIObject WIN32_LogicalDisk | out-file K:\status\DiskStatus.txt #requires –Version 2 如果指定的 shell ID 与当前的 shell ID 不匹配,以下 #Requires 语句就会阻止脚本运行。 当前的 shell ID 存储在 $ShellId 变量中: #requires -ShellId MyLocalShell 另请参阅 about_Automatic_Variables about_Language_Keywords about_PSSnapins get-PSSnapin