【发布时间】:2016-07-30 13:23:27
【问题描述】:
我有下面我一直在处理的代码,但我有一个问题,我无法让它将变量消息发送到计算机,如果我取出变量它可以工作,但这不是我想要的完成它。
Function Send-PopupMessage {
#Requires -Version 2.0
[CmdletBinding()]
Param(
[Parameter(Mandatory = $true)]
[String]$ComputerName,
[Parameter(Mandatory = $true)]
[String]$Message
)
Invoke-Command -ComputerName $ComputerName -Scriptblock {
$CmdMessage = "msg.exe * $Message"
Write-Host $CmdMessage
$CmdMessage | Invoke-Expression
}
}
这与question linked 不同,因为我正在使用 PSWA 与另一台计算机进行会话,因此我无法从此开始另一个会话。此外,即使我将代码更改为更像“重复”问题中的代码,我仍然得到与发送到另一台计算机的 cmd 相同的结果
msg.exe * '' 代替 msg.exe * '测试消息'
【问题讨论】:
-
简而言之:使用
$using:Message以引用$Message的local 定义。