[玩转系统] 新 PSSessionConfigurationFile (Microsoft.PowerShell.Core)
作者:精品下载站 日期:2024-12-14 02:15:08 浏览:14 分类:玩电脑
新 PSSessionConfigurationFile (Microsoft.PowerShell.Core)
新建 PSSessionConfigurationFile
模块 :Microsoft.PowerShell.Core创建定义会话配置的文件。
句法
New-PSSessionConfigurationFile
[-Path] <String>
[-SchemaVersion <Version>]
[-Guid <Guid>]
[-Author <String>]
[-Description <String>]
[-CompanyName <String>]
[-Copyright <String>]
[-SessionType <SessionType>]
[-TranscriptDirectory <String>]
[-RunAsVirtualAccount]
[-RunAsVirtualAccountGroups <String[]>]
[-MountUserDrive]
[-UserDriveMaximumSize <Int64>]
[-GroupManagedServiceAccount <String>]
[-ScriptsToProcess <String[]>]
[-RoleDefinitions <IDictionary>]
[-RequiredGroups <IDictionary>]
[-LanguageMode <PSLanguageMode>]
[-ExecutionPolicy <ExecutionPolicy>]
[-PowerShellVersion <Version>]
[-ModulesToImport <Object[]>]
[-VisibleAliases <String[]>]
[-VisibleCmdlets <Object[]>]
[-VisibleFunctions <Object[]>]
[-VisibleExternalCommands <String[]>]
[-VisibleProviders <String[]>]
[-AliasDefinitions <IDictionary[]>]
[-FunctionDefinitions <IDictionary[]>]
[-VariableDefinitions <Object>]
[-EnvironmentVariables <IDictionary>]
[-TypesToProcess <String[]>]
[-FormatsToProcess <String[]>]
[-AssembliesToLoad <String[]>]
[-Full]
[<CommonParameters>]
描述
New-PSSessionConfigurationFile
cmdlet 创建一个设置文件,用于定义会话配置以及使用会话配置创建的会话环境。要在会话配置中使用该文件,请使用 Register-PSSessionConfiguration
或 Set-PSSessionConfiguration
cmdlet 的 Path 参数。
New-PSSessionConfigurationFile
创建的会话配置文件是一个人类可读的文本文件,其中包含会话配置属性和值的哈希表。该文件具有 .pssc
文件扩展名。
除了 Path 参数之外,New-PSSessionConfigurationFile
的所有参数都是可选的。如果省略参数,会话配置文件中的相应键将被注释掉,除非参数说明中注明。
会话配置(也称为终结点)是本地计算机上的设置集合,用于定义连接到计算机的 PowerShell 会话 (PSSessions) 的环境。所有PSSession都使用会话配置。要指定特定会话配置,请使用创建会话的 cmdlet(例如 New-PSSession
cmdlet)的 ConfigurationName 参数。
会话配置文件可以轻松定义会话配置,而无需复杂的脚本或代码程序集。文件中的设置与可选启动脚本和会话配置中的任何程序集一起使用。
有关会话配置和会话配置文件的更多信息,请参阅 about_Session_Configurations 和 about_Session_Configuration_Files。
此 cmdlet 是在 PowerShell 3.0 中引入的。从 PowerShell 6.0 开始,此 cmdlet 仅在 Windows 平台上可用。 PowerShell 7.3 使此 cmdlet 在所有支持的平台上可用。
示例
示例 1:创建和使用 NoLanguage 会话
此示例展示如何创建无语言会话以及使用无语言会话的效果。
步骤包括:
- 创建一个新的配置文件。
- 注册配置。
- 创建一个使用该配置的新会话。
- 在该新会话中运行命令。
要运行此示例中的命令,请使用“以管理员身份运行”选项启动 PowerShell。运行 Register-PSSessionConfiguration
cmdlet 需要此选项。
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode NoLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name NoLanguage -Force
$NoLanguageSession = New-PSSession -ComputerName Srv01 -ConfigurationName NoLanguage
Invoke-Command -Session $NoLanguageSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
The syntax is not supported by this runspace. This might be because it is in no-language mode.
+ CategoryInfo : ParserError: (if ((Get-Date) ...') {'Before'} :String) [], ParseException
+ FullyQualifiedErrorId : ScriptsNotAllowed
+ PSComputerName : localhost
在此示例中,Invoke-Command
失败,因为 LanguageMode 设置为 NoLanguage。
示例 2:创建和使用 RestrictedLanguage 会话
此示例展示如何创建无语言会话以及使用无语言会话的效果。
步骤包括:
- 创建一个新的配置文件。
- 注册配置。
- 创建一个使用该配置的新会话。
- 在该新会话中运行命令。
要运行此示例中的命令,请使用“以管理员身份运行”选项启动 PowerShell。运行 Register-PSSessionConfiguration
cmdlet 需要此选项。
New-PSSessionConfigurationFile -Path .\NoLanguage.pssc -LanguageMode RestrictedLanguage
Register-PSSessionConfiguration -Path .\NoLanguage.pssc -Name RestrictedLanguage -Force
$RestrictedSession = New-PSSession -ComputerName Srv01 -ConfigurationName RestrictedLanguage
Invoke-Command -Session $RestrictedSession -ScriptBlock {
if ((Get-Date) -lt '1January2099') {'Before'} else {'After'}
}
Before
在此示例中,Invoke-Command
成功,因为 LanguageMode 设置为 RestrictedLanguage。
示例 3:更改会话配置文件
此示例演示如何更改名为“ITTasks”的现有会话中使用的会话配置文件。以前,这些会话只有核心模块和内部 ITTasks 模块。管理员想要将 PSScheduledJob 模块添加到使用 ITTasks 会话配置创建的会话中。
New-PSSessionConfigurationFile -Path .\New-ITTasks.pssc -ModulesToImport Microsoft*, ITTasks, PSScheduledJob
Set-PSSessionConfiguration -Name ITTasks -Path .\New-ITTasks.pssc
New-PSSessionConfigurationFile
cmdlet 用于创建导入所需模块的会话配置文件。 Set-PSSessionConfiguration
cmdlet 将当前配置文件替换为新配置文件。此新配置仅影响更改后创建的新会话。现有的“ITTasks”会话不受影响。
示例 4:编辑会话配置文件
此示例演示如何通过编辑配置文件的活动会话配置副本来更改会话配置。要修改配置文件的会话配置副本,您必须对该文件具有完全控制访问权限。这可能需要您更改文件的权限。
在这种情况下,我们希望通过编辑活动配置文件为 Select-String
cmdlet 添加新别名。
下面的示例代码执行以下步骤来进行此更改:
- 获取 ITConfig 会话的配置文件路径。
- 用户使用 Notepad.exe 编辑配置文件来更改 AliasDefinitions 值,如下所示:
AliasDefinitions=@(@{Name='slst';Value='选择字符串'})
。 - 测试更新后的配置文件。
$ITConfig = Get-PSSessionConfiguration -Name ITConfig
notepad.exe $ITConfig.ConfigFilePath
Test-PSSessionConfigurationFile -Path $ITConfig.ConfigFilePath
True
将 Verbose 参数与 Test-PSSessionConfigurationFile
结合使用以显示检测到的任何错误。如果文件中未检测到错误,则 cmdlet 将返回 $True
。
示例 5:创建示例配置文件
此示例显示使用所有 cmdlet 参数的 New-PSSessionConfigurationFile
命令。包含它是为了显示每个参数的正确输入格式。
生成的 SampleFile.pssc 将显示在输出中。
$configSettings = @{
Path = '.\SampleFile.pssc'
SchemaVersion = '1.0.0.0'
Author = 'User01'
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
CompanyName = 'Fabrikam Corporation'
Description = 'This is a sample file.'
ExecutionPolicy = 'AllSigned'
PowerShellVersion = '3.0'
LanguageMode = 'FullLanguage'
SessionType = 'Default'
EnvironmentVariables = @{TESTSHARE='\Test2\Test'}
ModulesToImport = @{ModuleName='PSScheduledJob'; ModuleVersion='1.0.0.0'; GUID='50cdb55f-5ab7-489f-9e94-4ec21ff51e59'},'PSDiagnostics'
AssembliesToLoad = 'System.Web.Services','FSharp.Compiler.CodeDom.dll'
TypesToProcess = 'Types1.ps1xml','Types2.ps1xml'
FormatsToProcess = 'CustomFormats.ps1xml'
ScriptsToProcess = 'Get-Inputs.ps1'
AliasDefinitions = @{Name='hlp';Value='Get-Help';Description='Gets help.';Options='AllScope'},
@{Name='Update';Value='Update-Help';Description='Updates help';Options='ReadOnly'}
FunctionDefinitions = @{Name='Get-Function';ScriptBlock={Get-Command -CommandType Function};Options='ReadOnly'}
VariableDefinitions = @{Name='WarningPreference';Value='SilentlyContinue'}
VisibleAliases = 'c*','g*','i*','s*'
VisibleCmdlets = 'Get*'
VisibleFunctions = 'Get*'
VisibleProviders = 'FileSystem','Function','Variable'
RunAsVirtualAccount = $true
RunAsVirtualAccountGroups = 'Backup Operators'
}
New-PSSessionConfigurationFile @configSettings
Get-Content SampleFile.pssc
@{
# Version number of the schema used for this document
SchemaVersion = '1.0.0.0'
# ID used to uniquely identify this document
GUID = '1caeff7f-27ca-4360-97cf-37846f594235'
# Author of this document
Author = 'User01'
# Description of the functionality provided by these settings
Description = 'This is a sample file.'
# Company associated with this document
CompanyName = 'Fabrikam Corporation'
# Copyright statement for this document
Copyright = '(c) Fabrikam Corporation. All rights reserved.'
# Session type defaults to apply for this session configuration. Can be 'RestrictedRemoteServer' (recommended), 'Empty', or 'Default'
SessionType = 'Default'
# Directory to place session transcripts for this session configuration
# TranscriptDirectory = 'C:\Transcripts\'
# Whether to run this session configuration as the machine's (virtual) administrator account
RunAsVirtualAccount = $true
# Groups associated with machine's (virtual) administrator account
RunAsVirtualAccountGroups = 'Backup Operators'
# Scripts to run when applied to a session
ScriptsToProcess = 'Get-Inputs.ps1'
# User roles (security groups), and the role capabilities that should be applied to them when applied to a session
# RoleDefinitions = @{ 'CONTOSO\SqlAdmins' = @{ RoleCapabilities = 'SqlAdministration' }; 'CONTOSO\SqlManaged' = @{ RoleCapabilityFiles = 'C:\RoleCapability\SqlManaged.psrc' }; 'CONTOSO\ServerMonitors' = @{ VisibleCmdlets = 'Get-Process' } }
# Language mode to apply when applied to a session. Can be 'NoLanguage' (recommended), 'RestrictedLanguage', 'ConstrainedLanguage', or 'FullLanguage'
LanguageMode = 'FullLanguage'
# Execution policy to apply when applied to a session
ExecutionPolicy = 'AllSigned'
# Version of the PowerShell engine to use when applied to a session
PowerShellVersion = '3.0'
# Modules to import when applied to a session
ModulesToImport = @{
'GUID' = '50cdb55f-5ab7-489f-9e94-4ec21ff51e59'
'ModuleName' = 'PSScheduledJob'
'ModuleVersion' = '1.0.0.0' }, 'PSDiagnostics'
# Aliases to make visible when applied to a session
VisibleAliases = 'c*', 'g*', 'i*', 's*'
# Cmdlets to make visible when applied to a session
VisibleCmdlets = 'Get*'
# Functions to make visible when applied to a session
VisibleFunctions = 'Get*'
# Providers to make visible when applied to a session
VisibleProviders = 'FileSystem', 'Function', 'Variable'
# Aliases to be defined when applied to a session
AliasDefinitions = @{
'Description' = 'Gets help.'
'Name' = 'hlp'
'Options' = 'AllScope'
'Value' = 'Get-Help' }, @{
'Description' = 'Updates help'
'Name' = 'Update'
'Options' = 'ReadOnly'
'Value' = 'Update-Help' }
# Functions to define when applied to a session
FunctionDefinitions = @{
'Name' = 'Get-Function'
'Options' = 'ReadOnly'
'ScriptBlock' = {Get-Command -CommandType Function} }
# Variables to define when applied to a session
VariableDefinitions = @{
'Name' = 'WarningPreference'
'Value' = 'SilentlyContinue' }
# Environment variables to define when applied to a session
EnvironmentVariables = @{
'TESTSHARE' = '\Test2\Test' }
# Type files (.ps1xml) to load when applied to a session
TypesToProcess = 'Types1.ps1xml', 'Types2.ps1xml'
# Format files (.ps1xml) to load when applied to a session
FormatsToProcess = 'CustomFormats.ps1xml'
# Assemblies to load when applied to a session
AssembliesToLoad = 'System.Web.Services', 'FSharp.Compiler.CodeDom.dll'
}
参数
-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
位置:命名
默认值:未知
必需的:False
接受管道输入:False
接受通配符:False
-Copyright
指定会话配置文件的版权。该参数的值在会话配置文件中可见,但它不是会话配置对象的属性。
如果省略此参数,New-PSSessionConfigurationFile
将使用 Author 参数的值生成版权声明。
String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Description
指定会话配置或会话配置文件的描述。该参数的值在会话配置文件中可见,但它不是会话配置对象的属性。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-EnvironmentVariables
将环境变量添加到会话中。输入一个哈希表,其中键是环境变量名称,值是环境变量值。
例如:
EnvironmentVariables=@{TestShare='\Server01\TestShare'}
类型 :词典
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ExecutionPolicy
指定使用会话配置的会话的执行策略。如果省略此参数,会话配置文件中ExecutionPolicy键的值为Restricted。有关 PowerShell 中执行策略的信息,请参阅 about_Execution_Policies。
类型 :ExecutionPolicy
接受的值:无限制、RemoteSigned、AllSigned、受限、默认、绕过、未定义
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-FormatsToProcess
指定在使用会话配置的会话中运行的格式化文件 (.ps1xml)。该参数的值必须是格式化文件的完整或绝对路径。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Full
指示此操作包括会话配置文件中所有可能的配置属性。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-FunctionDefinitions
将指定的功能添加到使用会话配置的会话。输入具有以下键的哈希表:
- 名称 - 函数的名称。该密钥是必需的。
- ScriptBlock - 函数体。输入脚本块。该密钥是必需的。
- 选项 - 功能选项。该键是可选的。默认值为无。此参数可接受的值为:None、ReadOnly、Constant、Private 或 AllScope。
例如:@{Name='Get-PowerShellProcess';ScriptBlock={Get-Process PowerShell};Options='AllScope'}
类型 :字典[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-GroupManagedServiceAccount
使用此会话配置将会话配置为在指定的组托管服务帐户的上下文中运行。注册此会话配置的计算机必须有权请求 gMSA 密码才能成功创建会话。此字段不能与 RunAsVirtualAccount 参数一起使用。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Guid
指定会话配置文件的唯一标识符。如果省略此参数,New-PSSessionConfigurationFile
会生成该文件的 GUID。要在 PowerShell 中创建新的 GUID,请键入 New-Guid
。
指导
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-LanguageMode
确定使用此会话配置的会话中允许使用 PowerShell 语言的哪些元素。您可以使用此参数来限制特定用户可以在计算机上运行的命令。
该参数可接受的值为:
- FullLanguage - 允许所有语言元素。
- ConstrainedLanguage - 不允许包含要评估的脚本的命令。 ConstrainedLanguage 模式限制用户对 Microsoft .NET Framework 类型、对象或方法的访问。
- NoLanguage - 用户可以运行 cmdlet 和函数,但不允许使用任何语言元素,例如脚本块、变量或运算符。
- RestrictedLanguage - 用户可以运行 cmdlet 和函数,但不允许使用脚本块或变量,以下允许的变量除外:
$PSCulture
、$PSUICulture
、$True
、$False
和$Null
。用户只能使用基本的比较运算符(-eq
、-gt
、-lt
)。不允许赋值语句、属性引用和方法调用。
LanguageMode 参数的默认值取决于SessionType 参数的值。
- 空 - 无语言
- 受限远程服务器 - NoLanguage
- 默认 - FullLanguage
PS语言模式
接受的值:完整语言、受限语言、无语言、受限语言
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ModulesToImport
指定自动导入到使用会话配置的会话中的模块和管理单元。
默认情况下,仅将 Microsoft.PowerShell.Core 管理单元导入到远程会话中,但除非排除 cmdlet,否则用户可以使用 Import-Module
和 Add-PSSnapin
cmdlet,用于将模块和管理单元添加到会话中。
每个模块或管理单元中此参数的值可以用字符串或哈希表表示。模块字符串仅包含模块或管理单元的名称。模块哈希表可以包含 ModuleName、ModuleVersion 和 GUID 键。仅需要 ModuleName 键。
例如,以下值由字符串和哈希表组成。字符串和哈希表的任何组合(以任何顺序)都是有效的。
'TroubleshootingPack', @{ModuleName='PSDiagnostics'; ModuleVersion='1.0.0.0';GUID='c61d6278-02a3-4618-ae37-a524d40a7f44'}
Register-PSSessionConfiguration
cmdlet 的 ModulesToImport 参数的值优先于会话配置文件中 ModulesToImport 键的值。
Object[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-MountUserDrive
配置使用此会话配置公开 User:
PSDrive 的会话。用户驱动器对于每个连接用户来说都是唯一的,并且允许用户将数据复制到 PowerShell 端点或从 PowerShell 端点复制数据,即使文件系统提供程序未公开也是如此。用户驱动器根目录在 $env:LOCALAPPDATA\Microsoft\PowerShell\DriveRoots\
下创建。对于连接到端点的每个用户,都会创建一个名为 $env:USERDOMAIN$env:USERNAME
的文件夹。对于工作组中的计算机,$env:USERDOMAIN
的值是主机名。
用户驱动器中的内容在用户会话中持续存在,并且不会自动删除。默认情况下,用户只能在用户驱动器中存储最多 50MB 的数据。这可以使用 UserDriveMaximumSize 参数进行自定义。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-Path
指定会话配置文件的路径和文件名。该文件必须具有 .pssc
文件扩展名。
String
位置:0
默认值:None
必需的:True
接受管道输入:False
接受通配符:False
-PowerShellVersion
指定使用会话配置的会话中 PowerShell 引擎的版本。该参数可接受的值为:2.0 和 3.0。如果省略此参数,PowerShellVersion 键将被注释掉,并且最新版本的 PowerShell 将在会话中运行。
Register-PSSessionConfiguration
cmdlet 的 PSVersion 参数值优先于会话配置文件中 PowerShellVersion 键的值。
版本
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-RequiredGroups
为连接到使用此会话配置的会话的用户指定条件访问规则。
输入哈希表以组成规则列表,每个哈希表仅使用 1 个键“And”或“Or”,并将值设置为安全组名称或其他哈希表的数组。
要求连接用户成为单个组成员的示例:@{ And='MyRequiredGroup' }
要求用户属于 A 组或同时属于 B 组和 C 组才能访问端点的示例:@{ Or='GroupA', @{ And='GroupB', 'GroupC' } }
词典
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-RoleDefinitions
指定安全组(或用户)和角色能力之间的映射。用户将被授予访问创建会话时适用于其组成员资格的所有角色功能的权限。
输入一个哈希表,其中键是安全组的名称,值是包含应可供安全组使用的角色功能列表的哈希表。
例如:@{'Contoso\Level 2 Helpdesk Users'=@{ RoleCapability='Maintenance', 'ADHelpDesk' }}
类型 :词典
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-RunAsVirtualAccount
使用此会话配置将会话配置为以计算机(虚拟)管理员帐户运行。此字段不能与 GroupManagedServiceAccount 参数一起使用。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-RunAsVirtualAccountGroups
指定当使用会话配置的会话作为虚拟帐户运行时要与虚拟帐户关联的安全组。如果省略,则虚拟帐户属于域控制器上的域管理员和所有其他计算机上的管理员。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-SchemaVersion
指定会话配置文件架构的版本。默认值为“1.0.0.0”。
类型 :版本
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ScriptsToProcess
将指定的脚本添加到使用会话配置的会话。输入脚本的路径和文件名。该参数的值必须是脚本文件名的完整路径或绝对路径。
类型 :String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-SessionType
指定使用会话配置创建的会话类型。默认值为默认。该参数可接受的值为:
- 空 - 默认情况下没有模块添加到会话中。使用此 cmdlet 的参数将模块、函数、脚本和其他功能添加到会话。此选项旨在让您通过添加选定的命令来创建自定义会话。如果您不向空会话添加命令,则该会话仅限于表达式并且可能无法使用。
- 默认 - 将 Microsoft.PowerShell.Core 模块添加到会话中。此模块包括
Import-Module
cmdlet,用户可以使用该 cmdlet 导入其他模块,除非您明确禁止此 cmdlet。 - 受限远程服务器。仅包含以下代理函数:
Exit-PSSession
、Get-Command
、Get-FormatData
、Get-Help
、测量对象
、默认值
和选择对象
。使用此 cmdlet 的参数将模块、函数、脚本和其他功能添加到会话。
SessionType
接受的值:空,RestrictedRemoteServer,默认
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-TranscriptDirectory
指定用于放置使用此会话配置的会话的会话脚本的目录。
类型 :String
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-TypesToProcess
将指定的 .ps1xml
类型文件添加到使用会话配置的会话。输入类型文件名。此参数的值必须是键入文件名的完整路径或绝对路径。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-UserDriveMaximumSize
指定在使用此会话配置的会话中公开的用户驱动器的最大大小。省略时,每个 User:
驱动器根目录的默认大小为 50MB。
此参数应与MountUserDrive一起使用。
类型 :整型64
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VariableDefinitions
将指定的变量添加到使用会话配置的会话。输入具有以下键的哈希表:
- 名称 - 变量的名称。该密钥是必需的。
- 值 - 变量值。该密钥是必需的。
例如:
@{Name='WarningPreference';Value='SilentlyContinue'}
类型 :目的
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VisibleAliases
将会话中的别名限制为此参数值中指定的别名,加上您在 AliasDefinition 参数中定义的任何别名。支持通配符。默认情况下,PowerShell 引擎定义的所有别名以及模块导出的所有别名在会话中可见。
例如:
VisibleAliases='gcm', 'gp'
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo 别名。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-VisibleCmdlets
将会话中的 cmdlet 限制为此参数值中指定的 cmdlet。支持通配符和模块限定名称。
默认情况下,会话导出中的模块的所有 cmdlet 在会话中都可见。使用SessionType 和ModulesToImport 参数来确定将哪些模块和管理单元导入到会话中。如果 ModulesToImport 中没有模块公开该 cmdlet,则将尝试自动加载相应的模块。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo 别名。
Object[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-VisibleExternalCommands
将会话中可以执行的外部二进制文件、脚本和命令限制为此参数值中指定的内容。支持通配符。
默认情况下,会话中没有可见的外部命令。
当会话配置文件中包含任何 Visible 参数时,PowerShell 将从会话中删除 Import-Module
cmdlet 及其 ipmo 别名。
String[]
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:True
-VisibleFunctions
将会话中的函数限制为此参数值中指定的函数,以及您在 FunctionDefinition 参数中定义的任何函数。支持通配符。
默认情况下,会话中的模块导出的所有函数在会话中都可见。使用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
输入
无
您无法将对象通过管道传输到此 cmdlet。
输出
无
此 cmdlet 不返回任何输出。
笔记
VisibleCmdlets 和 VisibleProviders 等参数不会将项目导入到会话中。相反,他们从导入到会话中的项目中进行选择。例如,如果 VisibleProviders 参数的值是证书提供程序,但 ModulesToImport 参数未指定 Microsoft.PowerShell.Security 模块包含证书提供程序,证书提供程序在会话中不可见。
New-PSSessionConfigurationFile
在您在 Path 参数中指定的路径中创建一个具有 .pssc 文件扩展名的会话配置文件。当您使用会话配置文件创建会话配置时,Register-PSSessionConfiguration
cmdlet 会复制该配置文件,并将该文件的活动副本保存在该会话的 SessionConfig 子目录中。$PSHOME
目录。会话配置的 ConfigFilePath 属性包含活动会话配置文件的完全限定路径。您可以随时使用任何文本编辑器修改
$PSHOME
目录中的活动配置文件。您所做的更改会影响使用该会话配置的所有新会话,但不会影响现有会话。在使用编辑的会话配置文件之前,请使用
Test-PSSessionConfigurationFile
cmdlet 验证配置文件条目是否有效。
猜你还喜欢
- 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