调用命令无法识别通过函数传递的命令

时间:2019-05-08 14:01:25

标签: invoke-command msg

我尝试构建一个例程,该例程将在我们网络中的每台PC上弹出一个窗口。但是,该函数似乎没有正确激活invoke-command。它不会扩展变量

代码在命令中带有一些固定文本的情况下运行良好,但是当用变量替换文本时,该代码将不再运行

function ZendAllen($commando) {
    $numberofpcs=$(Get-Content $lijst).count
    Write-host "Zenden van bericht naar" $numberofpcs "systemen"
    $pclijst=Get-Content $lijst
    write-output "commando in subroutine = "$commando
    foreach ($pc in $pclijst) {
#       Invoke-Command -ComputerName $pc -Scriptblock {
#            $CmdMessage = {C:\windows\system32\msg.exe * 'hi there'}
#            $CmdMessage | Invoke-Expression
#            }
        Invoke-Command -ComputerName $pc -Scriptblock { 
            $commando | Invoke-Expression
        }
        write-host "Zenden naar" $pc
    }
}

那里有固定文本。.它运行良好,并在每个屏幕上弹出。当通过读取主机在另一行上输入内容并将文本放在名为$ cmd的变量中时,该命令不会运行。 我不得不说$ cmd被构建到最终一行的不同部分中,即 $ cmd =“ {c:\ windows \ system32 \ msg.exe *}”

0 个答案:

没有答案