[玩转系统] 新 PSRoleCapabilityFile (Microsoft.PowerShell.Core)
作者:精品下载站 日期:2024-12-14 02:15:15 浏览:15 分类:玩电脑
新 PSRoleCapabilityFile (Microsoft.PowerShell.Core)
新的PSRoleCapabilityFile
模块 :Microsoft.PowerShell.Core创建一个文件,该文件定义一组要通过会话配置公开的功能。
句法
New-PSRoleCapabilityFile
[-Path] <String>
[-Guid <Guid>]
[-Author <String>]
[-Description <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-ModulesToImport <Object[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <Object[]>]
[-VisibleFunctions <Object[]>]
[-VisibleExternalCommands <String[]>]
[-VisibleProviders <String[]>]
[-ScriptsToProcess <String[]>]
[-AliasDefinitions <IDictionary[]>]
[-FunctionDefinitions <IDictionary[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <IDictionary>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-AssembliesToLoad <String[]>]
[<CommonParameters>]
描述
New-PSRoleCapabilityFile
cmdlet 创建一个文件,该文件定义一组可通过会话配置文件公开的用户功能。这包括确定哪些 cmdlet、函数和脚本可供用户使用。功能文件是一个人类可读的文本文件,其中包含会话配置属性和值的哈希表。该文件具有 .psrc 文件扩展名,并且可由多个会话配置使用。
除了指定文件路径的 Path 参数之外,New-PSRoleCapabilityFile
的所有参数都是可选的。如果运行 cmdlet 时不包含参数,会话配置文件中的相应键将被注释掉,除非参数说明中注明。例如,如果您不包含 AssembliesToLoad 参数,则会话配置文件的该部分将被注释掉。
要在会话配置中使用角色功能文件,请首先将该文件放置在有效 PowerShell 模块文件夹的 RoleCapability 子文件夹中。然后在 PowerShell 会话配置 (.pssc) 文件的 RoleDefinitions 字段中按名称引用该文件。
此 cmdlet 是在 Windows PowerShell 5.0 中引入的。
示例
示例1:创建空白角色能力文件
此示例创建一个使用默认(空白)值的新角色功能文件。稍后可以在文本编辑器中编辑该文件以更改这些配置设置。
New-PSRoleCapabilityFile -Path ".\ExampleFile.psrc"
示例 2:创建角色功能文件,允许用户重新启动服务和任何 VDI 计算机
此示例创建一个示例角色功能文件,使用户能够重新启动与特定名称模式匹配的服务和计算机。名称过滤是通过将 ValidatePattern 参数设置为正则表达式 VDI\d+
来定义的。
$roleParameters = @{
Path = ".\Maintenance.psrc"
Author = "User01"
CompanyName = "Fabrikam Corporation"
Description = "This role enables users to restart any service and restart any VDI computer."
ModulesToImport = "Microsoft.PowerShell.Core"
VisibleCmdlets = "Restart-Service", @{
Name = "Restart-Computer"
Parameters = @{ Name = "ComputerName"; ValidatePattern = "VDI\d+" }
}
}
New-PSRoleCapabilityFile @roleParameters
参数
-AliasDefinitions
将指定的别名添加到使用角色功能文件的会话。输入具有以下键的哈希表:
- 姓名。别名的名称。该密钥是必需的。
- 价值。别名代表的命令。该密钥是必需的。
- 描述。描述别名的文本字符串。该键是可选的。
- 选项。别名选项。该键是可选的。默认值为无。此参数可接受的值为:None、ReadOnly、Constant、Private 或 AllScope。
例如:
@{Name="hlp";Value="Get-Help";Description="Gets help";Options="ReadOnly"}
类型 :字典[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-AssembliesToLoad
指定要加载到使用角色功能文件的会话中的程序集。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Author
指定创建角色能力文件的用户。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-CompanyName
标识创建角色能力文件的公司。默认值为未知。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Copyright
指定角色能力文件的版权。如果省略此参数,New-PSRoleCapabilityFile
将使用 Author 参数的值生成版权声明。
String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Description
指定角色能力文件的描述。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-EnvironmentVariables
指定公开此角色功能文件的会话的环境变量。输入一个哈希表,其中键是环境变量名称,值是环境变量值。
例如:
EnvironmentVariables=@{TestShare=""\Server01\TestShare"}
类型 :词典
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-FormatsToProcess
指定在使用角色功能文件的会话中运行的格式化文件 (.ps1xml
)。该参数的值必须是格式化文件的完整或绝对路径。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-FunctionDefinitions
将指定的功能添加到公开角色功能的会话中。输入具有以下键的哈希表:
- 姓名。函数的名称。该密钥是必需的。
- 脚本块。函数体。输入脚本块。该密钥是必需的。
- 选项。功能选项。该键是可选的。默认值为无。此参数可接受的值为:None、ReadOnly、Constant、Private 或 AllScope。
例如:
@{Name="Get-PowerShellProcess";ScriptBlock={Get-Process PowerShell};Options="AllScope"}
类型 :字典[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Guid
指定角色能力文件的唯一标识符。如果省略此参数,New-PSRoleCapabilityFile
会生成该文件的 GUID。要在 PowerShell 中创建新的 GUID,请键入 [guid]::NewGuid()
。
指导
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ModulesToImport
指定自动导入到使用角色功能文件的会话中的模块。默认情况下,列出的模块中的所有命令都是可见的。与VisibleCmdlet或VisibleFunctions一起使用时,可以限制指定模块中可见的命令。
该参数的值中使用的每个模块可以用字符串或哈希表来表示。模块字符串仅包含模块的名称。模块哈希表可以包含 ModuleName、ModuleVersion 和 GUID 键。仅需要 ModuleName 键。
例如,以下值由字符串和哈希表组成。字符串和哈希表的任何组合(以任何顺序)都是有效的。
"TroubleshootingPack", @{ModuleName="PSDiagnostics"; ModuleVersion="1.0.0.0";GUID="c61d6278-02a3-4618-ae37-a524d40a7f44"}
类型 :Object[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Path
指定角色功能文件的路径和文件名。该文件必须具有 .psrc
文件扩展名。
String
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-ScriptsToProcess
指定要添加到使用角色功能文件的会话的脚本。输入脚本的路径和文件名。该参数的值必须是脚本文件名的完整路径或绝对路径。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-TypesToProcess
指定要添加到使用角色功能文件的会话的类型文件 (.ps1xml
)。输入类型文件名。该参数的值必须是文件名类型的完整或绝对路径。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VariableDefinitions
指定要添加到使用角色功能文件的会话的变量。输入具有以下键的哈希表:
- 姓名。变量的名称。该密钥是必需的。
- 价值。变量值。该密钥是必需的。
例如:
@{Name="WarningPreference";Value="SilentlyContinue"}
类型 :目的
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VisibleAliases
将会话中的别名限制为此参数值中指定的别名,以及您在 AliasDefinition 参数中定义的任何别名。支持通配符。默认情况下,PowerShell 引擎定义的所有别名以及模块导出的所有别名在会话中可见。
例如,要将可用别名限制为 gm 和 gcm,请使用以下语法:VisibleAliases="gcm", "gp"
当角色功能文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo
别名。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-VisibleCmdlets
将会话中的 cmdlet 限制为此参数值中指定的 cmdlet。支持通配符和模块限定名称。
默认情况下,会话中的模块导出的所有 cmdlet 在会话中都可见。使用SessionType 和ModulesToImport 参数来确定将哪些模块和管理单元导入到会话中。如果 ModulesToImport 中没有模块公开 cmdlet,New-PSRoleCapabilityFile
会尝试加载适当的模块。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo
别名。
Object[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-VisibleExternalCommands
将会话中可以执行的外部二进制文件、脚本和命令限制为此参数值中指定的内容。
默认情况下,此会话中没有可见的外部命令。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo
别名。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VisibleFunctions
将会话中的函数限制为此参数值中指定的函数,以及您在 FunctionDefinitions 参数中定义的任何函数。支持通配符。
默认情况下,会话中模块导出的所有函数在该会话中都是可见的。使用 SessionType 和 ModulesToImport 参数来确定将哪些模块导入到会话中。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo
别名。
Object[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-VisibleProviders
将会话中的 PowerShell 提供程序限制为此参数值中指定的提供程序。支持通配符。
默认情况下,会话中模块导出的所有提供程序在会话中都可见。使用 SessionType 和 ModulesToImport 参数来确定将哪些模块导入到会话中。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo
别名。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
猜你还喜欢
- 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