У меня есть код ниже, над которым я работал, и у меня есть проблема, я не могу заставить его отправить сообщение переменной на компьютер, если я выберу переменную, которая работает, но это не то, что я пытался с этим сделать.Переменная не отправляется на удаленный сеанс
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', чтобы ссылаться на _local_ определение' $ Message'. – mklement0