使用PowerShell remoting时,区分本地执行代码和远程执行代码很重要。如果你需要在本地执行某个动作,然后将该命令传递给一个或多个远程的计算机,有一个特殊的方式可以允许这样做——而且这种方式并不总是显而易见的。 例如,假设你已经创建了一个证书对象,想将其传输给一台远程电脑并在下面的命令中使用: $cred = Get-Credential 要想实现,应该在远程命令脚本块中创建一个参数块。然后,指定该数据通过–ArgumentList参数传输。
Invoke-Command –ScriptBlock (param($c) Add-Computer –Credentia……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
使用PowerShell remoting时,区分本地执行代码和远程执行代码很重要。如果你需要在本地执行某个动作,然后将该命令传递给一个或多个远程的计算机,有一个特殊的方式可以允许这样做——而且这种方式并不总是显而易见的。
例如,假设你已经创建了一个证书对象,想将其传输给一台远程电脑并在下面的命令中使用:
$cred = Get-Credential
要想实现,应该在远程命令脚本块中创建一个参数块。然后,指定该数据通过–ArgumentList参数传输。
Invoke-Command –ScriptBlock (param($c) Add-Computer –Credential $c }
-ComputerName SERVER2 –ArgumentList $cred
–ArgumentList搭载的应该是一个以逗号为分隔符的列表,由Param()块代替。第一个–ArgumentList参数定位到第一个Param()变量,第二个对应第二个变量,一次类推。然后,Param()变量就跟其他变量一样用在脚本块中。
该技术可以在Invoke-Command的内置的帮助中找到。这里是另外一个技术:
Invoke-Command –FilePath MyScript.ps1 –ComputerName SERVER2,SERVER2
-ArgumentList $this,$that
这里假设MyScript.ps1在内部定义了一个包括两个参数的Param()块,-- $this将会发送到第一个参数,$that对应第二个参数。这基本上跟-ScriptBlock使用的是相同的技术,但相反的是,一切都是在脚本文件中定义的。
相关推荐
-
使用PowerShell管理SCVMM(一):安装条件
以前管理SCVMM时需要安装管理工具,如果想节省时间免去安装过程,借助PowerShell Remoting!让你通过VMM cmdlet远程管理SCVMM,不再需要安装SCVMM管理工具。
-
如何使用PowerShell remoting运行远程命令
PowerShell remoting允许在远程系统上运行命令。首先,怎样启动呢?Windows Server 2012中是默认启动的。其他系统则有两种方法:手动或使用组策略。
-
为什么远程运行PowerShell命令容易出错?
使用PowerShell Remoting在远程机器上运行命令是未来技术的趋势。但是远程运行PowerShell命令容易出错。这里给大家解释原因并提供解决方法。
-
如何启用PowerShell Remoting之One-to-many Remoting
在讲解了如何使用One-to-one remoting的方式使用PowerShell remoting之后,继续讲解One-to-many remoting方式使用PowerShell remoting。