[玩转系统] 关于 需要
作者:精品下载站 日期:2024-12-14 02:18:56 浏览:15 分类:玩电脑
关于 需要
简短描述
防止脚本在没有所需元素的情况下运行。
详细描述
除非满足 PowerShell 版本、模块(和版本)和版本先决条件,否则 #Requires
语句会阻止脚本运行。如果不满足先决条件,PowerShell 将不会运行脚本或提供其他运行时功能,例如制表符完成。
句法
#Requires -Version <N>[.<n>]
#Requires -Modules { <Module-Name> | <Hashtable> }
#Requires -PSEdition <PSEdition-Name>
#Requires -RunAsAdministrator
有关语法的更多信息,请参阅脚本要求。
使用规则
一个脚本可以包含多个 #Requires
语句。 #Requires
语句可以出现在脚本中的任何行。
在函数内放置 #Requires
语句不会限制其范围。所有#Requires
语句始终全局应用,并且必须满足才能执行脚本。
警告
尽管#Requires
语句可以出现在脚本中的任何行,但它在脚本中的位置不会影响其应用程序的顺序。在脚本执行之前必须满足 #Requires
语句呈现的全局状态。
例子 :
Get-Module AzureRM.Netcore | Remove-Module
#Requires -Modules AzureRM.Netcore
您可能认为上面的代码不应该运行,因为所需的模块在 #Requires
语句之前被删除。但是,在脚本执行之前必须满足 #Requires
状态。然后脚本的第一行使所需的状态无效。
参数
-Assembly |
这很重要
-Assembly
语法已弃用。它没有任何功能。该语法是在 PowerShell 5.1 中添加的,但支持代码从未实现。为了向后兼容,该语法仍然被接受。
指定程序集 DLL 文件的路径或 .NET 程序集名称。 Assembly 参数是在 PowerShell 5.0 中引入的。有关 .NET 程序集的更多信息,请参阅程序集名称。
例如:
#Requires -Assembly path\to\foo.dll
#Requires -Assembly "System.Management.Automation, Version=3.0.0.0,
Culture=neutral, PublicKeyToken=31bf3856ad364e35"
-版本[.]
指定脚本所需的 PowerShell 最低版本。输入主版本号和可选的次版本号。
例如:
#Requires -Version 6.0
-模块 |
指定脚本所需的 PowerShell 模块。输入模块名称和可选版本号。
如果当前会话中不存在所需的模块,PowerShell 会导入它们。如果无法导入模块,PowerShell 将引发终止错误。
#Requires
语句不会加载模块中的类和枚举定义。在脚本开头使用 using module
语句导入模块,包括类和枚举定义。有关详细信息,请参阅 about_Using。
对于每个模块,键入模块名称 () 或哈希表。该值可以是字符串和哈希表的组合。哈希表具有以下键。
ModuleName
- 必需 指定模块名称。GUID
- 可选 指定模块的 GUID。还必需至少指定以下三个键之一。
ModuleVersion
- 指定模块的最低可接受版本。
MaximumVersion
- 指定模块可接受的最大版本。RequiredVersion
- 指定模块的准确、必需的版本。它不能与其他版本密钥一起使用。
笔记
Windows PowerShell 5.0 中添加了 RequiredVersion
。 Windows PowerShell 5.1 中添加了 MaximumVersion
。
例如:
要求安装 AzureRM.Netcore
(版本 0.12.0
或更高版本)。
#Requires -Modules @{ ModuleName="AzureRM.Netcore"; ModuleVersion="0.12.0" }
要求安装AzureRM.Netcore
(仅版本0.12.0
)。
#Requires -Modules @{ ModuleName="AzureRM.Netcore"; RequiredVersion="0.12.0" }
需要安装 AzureRM.Netcore
(版本 0.12.0
或更低版本)。
#Requires -Modules @{ ModuleName="AzureRM.Netcore"; MaximumVersion="0.12.0" }
要求安装任何版本的 AzureRM.Netcore
和 PowerShellGet
。
#Requires -Modules AzureRM.Netcore, PowerShellGet
使用 RequiredVersion
键时,请确保您的版本字符串与您需要的版本字符串完全匹配。
Get-Module AzureRM.Netcore -ListAvailable
Directory: /home/azureuser/.local/share/powershell/Modules
ModuleType Version Name PSEdition ExportedCommands
---------- ------- ---- --------- ----------------
Script 0.12.0 AzureRM.Netcore Core
以下示例失败,因为 0.12 与 0.12.0 不完全匹配。
#Requires -Modules @{ ModuleName="AzureRM.Netcore"; RequiredVersion="0.12" }
-PSEdition
指定脚本所需的 PowerShell 版本。对于 PowerShell,有效值为 Core;对于 Windows PowerShell,有效值为 Desktop。
例如:
#Requires -PSEdition Core
-RunAsAdministrator
当此开关参数添加到您的 #Requires
语句中时,它指定您运行脚本的 PowerShell 会话必须以提升的用户权限启动。 RunAsAdministrator 参数在非 Windows 操作系统上被忽略。 RunAsAdministrator 参数是在 PowerShell 4.0 中引入的。
例如:
#Requires -RunAsAdministrator
示例
以下脚本有两个 #Requires
语句。如果两个语句中指定的要求均未满足,则脚本不会运行。每个 #Requires
语句必须是一行中的第一项:
#Requires -Modules AzureRM.Netcore
#Requires -Version 6.0
Param
(
[parameter(Mandatory=$true)]
[String[]]
$Path
)
...
参见
- about_Automatic_Variables
- about_Language_Keywords
- 上一篇:[精彩网文] 关于蒙特梭利教育的证据
- 下一篇:[玩转系统] 关于远程变量
猜你还喜欢
- 03-30 [玩转系统] 如何用批处理实现关机,注销,重启和锁定计算机
- 02-14 [系统故障] Win10下报错:该文件没有与之关联的应用来执行该操作
- 01-07 [系统问题] Win10--解决锁屏后会断网的问题
- 01-02 [系统技巧] Windows系统如何关闭防火墙保姆式教程,超详细
- 12-15 [玩转系统] 如何在 Windows 10 和 11 上允许多个 RDP 会话
- 12-15 [玩转系统] 查找 Exchange/Microsoft 365 中不活动(未使用)的通讯组列表
- 12-15 [玩转系统] 如何在 Windows 上安装远程服务器管理工具 (RSAT)
- 12-15 [玩转系统] 如何在 Windows 上重置组策略设置
- 12-15 [玩转系统] 如何获取计算机上的本地管理员列表?
- 12-15 [玩转系统] 在 Visual Studio Code 中连接到 MS SQL Server 数据库
- 12-15 [玩转系统] 如何降级 Windows Server 版本或许可证
- 12-15 [玩转系统] 如何允许非管理员用户在 Windows 中启动/停止服务
取消回复欢迎 你 发表评论:
- 精品推荐!
-
- 最新文章
- 热门文章
- 热评文章
[影视] 黑道中人 Alto Knights(2025)剧情 犯罪 历史 电影
[古装剧] [七侠五义][全75集][WEB-MP4/76G][国语无字][1080P][焦恩俊经典]
[实用软件] 虚拟手机号 电话 验证码 注册
[电视剧] 安眠书店/你 第五季 You Season 5 (2025) 【全10集】
[电视剧] 棋士(2025) 4K 1080P【全22集】悬疑 犯罪 王宝强 陈明昊
[软件合集] 25年6月5日 精选软件22个
[软件合集] 25年6月4日 精选软件36个
[短剧] 2025年06月04日 精选+付费短剧推荐33部
[短剧] 2025年06月03日 精选+付费短剧推荐25部
[软件合集] 25年6月3日 精选软件44个
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电视剧] 欢乐颂.5部全 (2016-2024)
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[影视] 【稀有资源】香港老片 艺坛照妖镜之96应召名册 (1996)
[剧集] 神经风云(2023)(完结).4K
[剧集] [BT] [TVB] [黑夜彩虹(2003)] [全21集] [粤语中字] [TV-RMVB]
[实用软件] 虚拟手机号 电话 验证码 注册
[资源] B站充电视频合集,包含多位重量级up主,全是大佬真金白银买来的~【99GB】
[影视] 内地绝版高清录像带 [mpg]
[书籍] 古今奇书禁书三教九流资料大合集 猎奇必备珍藏资源PDF版 1.14G
[电视剧] [突围] [45集全] [WEB-MP4/每集1.5GB] [国语/内嵌中文字幕] [4K-2160P] [无水印]
[剧集] [央视][笑傲江湖][2001][DVD-RMVB][高清][40集全]李亚鹏、许晴、苗乙乙
[电影] 美国队长4 4K原盘REMUX 杜比视界 内封简繁英双语字幕 49G
[电影] 死神来了(1-6)大合集!
[软件合集] 25年05月13日 精选软件16个
[精品软件] 25年05月15日 精选软件18个
[绝版资源] 南与北 第1-2季 合集 North and South (1985) /美国/豆瓣: 8.8[1080P][中文字幕]
[软件] 25年05月14日 精选软件57个
[短剧] 2025年05月14日 精选+付费短剧推荐39部
[短剧] 2025年05月15日 精选+付费短剧推荐36部
- 最新评论
-
- 热门tag