尝试使用powershell执行从get请求返回的字符串

时间:2018-02-04 07:55:16

标签: windows powershell server scripting

我正在尝试编写PowerShell脚本来管理我的服务器中的一些功能。我希望脚本的内容加载到变量中以便执行。原因是我有几台服务器,当我不得不在脚本中更改内容时,我不想一个接一个地输入。

我认为从get请求返回文本脚本然后用&执行。 以下是我正在做的测试:

$R = Invoke-WebRequest -URI http://www.goltratec.com/pruebas/powershell.php?a=1
$a = {$R.Content}
& $a

$ R.content返回“写主机'hola desde web'” 如果我做一个$ a.getType(),我得到的是一个ScriptBlock但是当我做& $ a我在控制台中看到

write-host 'hola desde web'

而不是

hola desde web

但是,如果我这样做

$b={write-host 'hola desde web'}
& $b

我可以看到

hola desde web

我也检查了$ a和$ b是同一类型。

发生了什么事?

谢谢..

1 个答案:

答案 0 :(得分:1)

$a只是变成了一个带有字符串的scriptblock。你想要:

$a = [scriptblock]::Create($R.Content)