[玩转系统] 新 PSSessionOption (Microsoft.PowerShell.Core)
作者:精品下载站 日期:2024-12-14 02:15:03 浏览:12 分类:玩电脑
新 PSSessionOption (Microsoft.PowerShell.Core)
新 PSSessionOption
模块 :Microsoft.PowerShell.Core创建一个包含 PSSession 高级选项的对象。
句法
New-PSSessionOption
[-MaximumRedirection <Int32>]
[-NoCompression]
[-NoMachineProfile]
[-Culture <CultureInfo>]
[-UICulture <CultureInfo>]
[-MaximumReceivedDataSizePerCommand <Int32>]
[-MaximumReceivedObjectSize <Int32>]
[-OutputBufferingMode <OutputBufferingMode>]
[-MaxConnectionRetryCount <Int32>]
[-ApplicationArguments <PSPrimitiveDictionary>]
[-OpenTimeout <Int32>]
[-CancelTimeout <Int32>]
[-IdleTimeout <Int32>]
[-ProxyAccessType <ProxyAccessType>]
[-ProxyAuthentication <AuthenticationMechanism>]
[-ProxyCredential <PSCredential>]
[-SkipCACheck]
[-SkipCNCheck]
[-SkipRevocationCheck]
[-OperationTimeout <Int32>]
[-NoEncryption]
[-UseUTF16]
[-IncludePortInSPN]
[<CommonParameters>]
描述
New-PSSessionOption
cmdlet 创建一个对象,其中包含用户管理的会话 (PSSession) 的高级选项。您可以将该对象用作创建 PSSession 的 cmdlet 的 SessionOption 参数的值,例如 New-PSSession
、Enter -PSSession
和 Invoke-Command
。
如果没有参数,New-PSSessionOption
会生成一个包含所有选项默认值的对象。由于每个属性都可以编辑,因此您可以使用生成的对象作为模板并为您的企业创建标准选项对象。
您还可以在 $PSSessionOption
首选项变量中保存 SessionOption 对象。该变量的值为会话选项建立新的默认值。当没有为会话设置会话选项时,它们有效,并且它们优先于会话配置中设置的选项,但您可以通过在创建会话的 cmdlet 中指定会话选项或 SessionOption 对象来覆盖它们。会议。有关 $PSSessionOption
首选项变量的详细信息,请参阅 about_Preference_Variables。
当您在创建会话的 cmdlet 中使用 SessionOption 对象时,会话选项值优先于在 $PSSessionOption
首选项变量和会话中设置的会话的默认值配置。但是,它们并不优先于会话配置中设置的最大值、配额或限制。有关会话配置的更多信息,请参阅 about_Session_Configurations。
示例
示例 1:创建默认会话选项
此命令创建一个具有默认值的 SessionOption 对象。
New-PSSessionOption
MaximumConnectionRedirectionCount : 5
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture :
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:03:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
示例 2:使用会话选项对象配置会话
此示例演示如何使用 SessionOption 对象来配置会话。
$pso = New-PSSessionOption -Culture "fr-fr" -MaximumReceivedObjectSize 10MB
New-PSSession -ComputerName Server01 -SessionOption $pso
第一个命令创建一个新的 SessionOption 对象并将其保存在 $pso
变量的值中。第二条命令使用 New-PSSession
cmdlet 在 Server01 远程计算机上创建会话。该命令使用 $pso
变量值中的 SessionOption 对象作为命令的 SessionOption 参数的值。
示例 3:启动交互式会话
此命令使用 Enter-PSSession
cmdlet 启动与 Server01 计算机的交互式会话。
Enter-PSSession -ComputerName Server01 -SessionOption (New-PSSessionOption -NoEncryption -NoCompression)
SessionOption 参数的值是一个 New-PSSessionOption
命令,该命令具有 NoEncryption 和 NoCompression 参数。
New-PSSessionOption
命令括在括号中,以确保它在 Enter-PSSession
命令之前运行。
示例 4:修改会话选项对象
此示例演示您可以修改 SessionOption 对象。所有属性都有读/写值。
$a = New-PSSessionOption
$a.OpenTimeout
Days : 0
Hours : 0
Minutes : 3
Seconds : 0
Milliseconds : 0
Ticks : 1800000000
TotalDays : 0.00208333333333333
TotalHours : 0.05
TotalMinutes : 3
TotalSeconds : 180
TotalMilliseconds : 180000
$a.UICulture = (Get-UICulture)
$a.OpenTimeout = (New-Timespan -Minutes 4)
$a.MaximumConnectionRedirectionCount = 1
$a
MaximumConnectionRedirectionCount : 1
NoCompression : False
NoMachineProfile : False
ProxyAccessType : IEConfig
ProxyAuthentication : Negotiate
ProxyCredential :
SkipCACheck : False
SkipCNCheck : False
SkipRevocationCheck : False
OperationTimeout : 00:03:00
NoEncryption : False
UseUTF16 : False
Culture :
UICulture : en-US
MaximumReceivedDataSizePerCommand :
MaximumReceivedObjectSize :
ApplicationArguments :
OpenTimeout : 00:04:00
CancelTimeout : 00:01:00
IdleTimeout : 00:04:00
使用此方法为您的企业创建标准会话对象,然后为特定用途创建它的自定义版本。
示例 5:创建偏好变量
此命令创建一个 $PSSessionOption
首选项变量。
$PSSessionOption = New-PSSessionOption -OpenTimeOut 120000
在会话中设置 $PSSessionOption
首选项变量时,它会为使用 New-PSSession
、Enter-PSSession 创建的会话中的选项建立默认值
和 Invoke-Command
cmdlet。
要使 $PSSessionOption
变量在所有会话中可用,请将其添加到您的 PowerShell 会话和 PowerShell 配置文件中。
有关 $PSSessionOption
首选项变量的详细信息,请参阅 about_Preference_Variables。有关配置文件的更多信息,请参阅 about_Profiles。
示例 6:满足远程会话配置的要求
此示例演示如何使用 SessionOption 对象来满足远程会话配置的要求。
$skipCN = New-PSSessionOption -SkipCNCheck
New-PSSession -ComputerName 171.09.21.207 -UseSSL -Credential Domain01\User01 -SessionOption $SkipCN
第一个命令使用 New-PSSessionOption
cmdlet 创建一个具有 SkipCNCheck 属性的 SessionOption 对象。该命令将生成的会话对象保存在 $skipCN
变量中。
第二个命令使用 New-PSSession cmdlet 在远程计算机上创建新会话。 $skipCN
检查变量用在 SessionOption 参数的值中。
由于计算机是通过其 IP 地址来标识的,因此 ComputerName 参数的值与用于安全套接字层 (SSL) 的证书中的任何常用名称都不匹配。因此,需要SkipCNCheck选项。
示例 7:使参数可用于远程会话
此示例演示如何使用 New-PSSessionOption
cmdlet 的 ApplicationArguments 参数为远程会话提供其他数据。
$team = @{Team="IT"; Use="Testing"}
$TeamOption = New-PSSessionOption -ApplicationArguments $team
$s = New-PSSession -ComputerName Server01 -SessionOption $TeamOption
Invoke-Command -Session $s {$PSSenderInfo.ApplicationArguments}
Name Value
---- -----
Team IT
Use Testing
PSVersionTable {CLRVersion, BuildVersion, PSVersion, WSManStackVersion...}
Invoke-Command -Session $s {
if ($PSSenderInfo.ApplicationArguments.Use -ne "Testing") {
.\logFiles.ps1
}
else {
"Just testing."
}
}
Just testing.
第一个命令创建一个包含两个键的哈希表:Team 和 Use。该命令将哈希表保存在 $team
变量中。有关哈希表的更多信息,请参阅 about_Hash_Tables。
接下来,New-PSSessionOption
cmdlet 使用 ApplicationArguments 参数创建一个保存在 $team
中的 SessionOption 对象多变的。当 New-PSSessionOption
创建会话选项对象时,它会自动将 ApplicationArguments 参数值中的哈希表转换为 PrimitiveDictionary,以便数据可以可靠地传输到远程会话。
New-PSSession
cmdlet 在 Server01 计算机上启动会话。它使用 SessionOption 参数将选项包含在 $teamOption
变量中。
Invoke-Command
cmdlet 演示了 $team
变量中的数据可用于远程会话中的命令。数据显示在 $PSSenderInfo
自动变量的 ApplicationArguments 属性中。
最终的 Invoke-Command
显示了如何使用数据。
参数
-ApplicationArguments
指定发送到远程会话的PrimitiveDictionary。远程会话中的命令和脚本(包括会话配置中的启动脚本)可以在 $PSSenderInfo
自动变量的 ApplicationArguments 属性中找到此字典。您可以使用此参数将数据发送到远程会话。
有关详细信息,请参阅 about_Hash_Tables、about_Session_Configurations 和 about_Automatic_Variables。
类型 :PS原始字典
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-CancelTimeout
确定 PowerShell 在结束取消操作 (CTRL+C) 之前等待完成的时间。输入一个以毫秒为单位的值。
默认值为 60000
(一分钟)。值0
(零)表示没有超时;该命令无限期地继续。
整数32
别名:CancelTimeoutMSec
位置:命名
默认值:60000
必需的:False
接受管道输入:False
接受通配符:False
-Culture
指定会话使用的区域性。输入 <languagecode2>-24 天)。 WSMan shell 空闲超时 (
WSMan:\Shell\IdleTimeout
) 的默认值为 7200000
毫秒(2 小时)。
当从会话断开连接或重新连接到会话时,也可以更改会话的空闲超时值。有关详细信息,请参阅 Disconnect-PSSession
和 Connect-PSSession
。
在 Windows PowerShell 2.0 中,IdleTimeout 参数的默认值为 240000
(4 分钟)。
整数32
别名:IdleTimeoutMSec
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-IncludePortInSPN
在用于 Kerberos 身份验证的服务主体名称 (SPN) 中包含端口号,例如 HTTP://:5985
。此选项允许使用非默认 SPN 的客户端针对使用 Kerberos 身份验证的远程计算机进行身份验证。
该选项专为在不同用户帐户下运行多个支持 Kerberos 身份验证的服务的企业而设计。例如,允许 Kerberos 身份验证的 IIS 应用程序可能要求将默认 SPN 注册到与计算机帐户不同的用户帐户。在这种情况下,PowerShell 远程处理无法使用 Kerberos 进行身份验证,因为它需要注册到计算机帐户的 SPN。为了解决此问题,管理员可以创建不同的 SPN(例如使用 Setspn.exe
),这些 SPN 注册到不同的用户帐户,并且可以通过在 SPN 中包含端口号来区分它们。
有关详细信息,请参阅 Setspn 概述。
此参数是在 Windows PowerShell 3.0 中引入的。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-MaxConnectionRetryCount
指定当前尝试因网络问题失败时 PowerShell 尝试连接到目标计算机的次数。默认值为5
。
此参数是为 PowerShell 版本 5.0 添加的。
类型 :整数32
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-MaximumReceivedDataSizePerCommand
指定本地计算机可以通过单个命令从远程计算机接收的最大字节数。输入一个以字节为单位的值。默认情况下,没有数据大小限制。
此选项旨在保护客户端计算机上的资源。
类型 :整数32
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-MaximumReceivedObjectSize
指定本地计算机可以从远程计算机接收的对象的最大大小。此选项旨在保护客户端计算机上的资源。输入一个以字节为单位的值。
在 Windows PowerShell 2.0 中,如果省略此参数,则没有对象大小限制。从 Windows PowerShell 3.0 开始,如果省略此参数,则默认值为 209715200
字节(或 200MB
)。
整数32
位置:命名
默认值:209715200
必需的:False
接受管道输入:False
接受通配符:False
-MaximumRedirection
确定在连接失败之前 PowerShell 将连接重定向到备用统一资源标识符 (URI) 的次数。默认值为5
。值0
(零)会阻止所有重定向。
仅当创建会话的命令中使用AllowRedirection 参数时,才会在会话中使用此选项。
类型 :整数32
位置:命名
默认值:5
必需的:False
接受管道输入:False
接受通配符:False
-NoCompression
关闭会话中的数据包压缩。压缩使用更多的处理器周期,但它使传输速度更快。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-NoEncryption
关闭数据加密。
类型 :SwitchParameter
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-NoMachineProfile
阻止加载用户的 Windows 用户配置文件。因此,会话创建速度可能会更快,但用户特定的注册表设置、环境变量和证书等项目在会话中不可用。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-OpenTimeout
确定客户端计算机等待建立会话连接的时间。当时间间隔到期时,建立连接的命令将失败。输入一个以毫秒为单位的值。
默认值为 180000
(3 分钟)。值0
(零)表示没有超时;该命令无限期地继续。
整数32
别名:OpenTimeoutMSec
位置:命名
默认值:180000(3分钟)
必需的:False
接受管道输入:False
接受通配符:False
-OperationTimeout
确定在启动连接超时之前 WinRM 等待来自实时连接的正连接测试的最长时间。有关 WinRM 的详细信息,请参阅 Windows 远程管理文档。
OperationTimeout不会对远程会话中运行的命令或进程施加时间限制,并且不会影响 SSH 等其他远程协议。
默认值为 180000
(3 分钟)。值0
(零)表示没有超时。
整数32
别名:OperationTimeoutMSec
位置:命名
默认值:180000(3分钟)
必需的:False
接受管道输入:False
接受通配符:False
-OutputBufferingMode
确定当输出缓冲区已满时如何在断开连接的会话中管理命令输出。
如果会话或会话配置中未设置输出缓冲模式,则默认值为Block
。用户还可以在断开会话时更改输出缓冲模式。
如果省略此参数,则 SessionOption 对象的 OutputBufferingMode 值为 None
。 Block
或 Drop
值会覆盖会话配置中设置的输出缓冲模式传输选项。该参数可接受的值为:
阻止
。当输出缓冲区已满时,执行将暂停,直到缓冲区被清除。删除
。当输出缓冲区已满时,继续执行。保存新输出时,最旧的输出将被丢弃。无
。未指定输出缓冲模式。
有关输出缓冲模式传输选项的更多信息,请参阅New-PSTransportOption
。
此参数是在 Windows PowerShell 3.0 中引入的。
类型 :输出缓冲模式
接受的值:无、丢弃、阻止
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ProxyAccessType
确定使用哪种机制来解析主机名。该参数可接受的值为:
IEConfig
WinHttpConfig
AutoDetect
NoProxyServer
None
默认值为无
。
有关此参数值的信息,请参阅ProxyAccessType 枚举。
类型 :代理访问类型
接受的值:无、IEConfig、WinHttpConfig、自动检测、NoProxyServer
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-ProxyAuthentication
指定用于代理解析的身份验证方法。该参数可接受的值为:
Basic
Digest
Negotiate
默认值为协商
。
有关此参数值的更多信息,请参阅 AuthenticationMechanism 枚举。
类型 :AuthenticationMechanism
接受的值:默认、基本、协商、NegotiateWithImplicitCredential、Credssp、摘要、Kerberos
位置:命名
默认值:谈判
必需的:False
接受管道输入:False
接受通配符:False
-ProxyCredential
指定用于代理身份验证的凭据。输入包含 PSCredential 对象的变量或获取 PSCredential 对象的命令,例如 Get-Credential
命令。如果未设置此选项,则不会指定任何凭据。
PS凭证
位置:命名
默认值:None
必需的:False
接受管道输入:False
接受通配符:False
-SkipCACheck
指定当通过 HTTPS 连接时,客户端不验证服务器证书是否由受信任的证书颁发机构 (CA) 签名。
仅当远程计算机通过使用其他机制受到信任时才使用此选项,例如当远程计算机是物理上安全且隔离的网络的一部分时,或者当远程计算机在 WinRM 配置中被列为可信主机时。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-SkipCNCheck
指定服务器的证书公用名 (CN) 不必与服务器的主机名匹配。该选项仅用于使用 HTTPS 协议的远程操作。
仅对受信任的计算机使用此选项。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-SkipRevocationCheck
不验证服务器证书的吊销状态。
类型 :SwitchParameter
位置:命名
默认值:False
必需的:False
接受管道输入:False
接受通配符:False
-UICulture
指定用于会话的 UI 区域性。
有效值包括:
- 采用
<languagecode2>-
猜你还喜欢
- 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