对不起,在这个新手,但我想了解一些有关发送PowerShell的结果到PHP页面以供日后处理。发送PowerShell的结果到HTTP
我试过这段代码:
$test1 = "test"
$postParams = @{test=$test1}
Invoke-WebRequest -Uri http://bu01/stats/input.php -Method POST -Body $postParams
的正常工作,PHP接收字符串测试在$ _ POST [ '测试']
但是当试图分析更多的数据,如:
$test1 = Get-WMIobject win32_logicaldisk | select-object DeviceID,FreeSpace,Size
$postParams = @{test=$test1}
Invoke-WebRequest -Uri http://bu01/stats/input.php -Method POST -Body $postParams
我得到的所有结果是“System.Object []”。
请解释如何将它发送给PHP。
谢谢!
更新: 感谢您的提示。我使用foreach将以下脚本在单独的Web请求中发布每个“行”。现在工作正常。不再使用hdd空间进行测试,而是使用Exchange DB中的空白字符,但想法相同。
$dbs = Get-MailboxDatabase -Status | select-object Name, DatabaseSize, AvailableNewMailboxSpace
foreach ($a in $dbs){
$data = $a.Name+','+$a.DatabaseSize.ToKB()+','+$a.AvailableNewMailboxSpace.ToKB()
$postParams = @{data=$data}
Invoke-WebRequest -Uri http://bu01/stats/input.php -Method POST -Body $postParams
}
也许有人有一个很好的提示将其转换为一个请求?这对于Web服务器来说效率更高。
关于你的更新:只需创建一个具有多个值的散列表。例如:'$ params = @ {val1 = $ value1; VAL2 = $值2}” – Paul 2014-11-11 17:51:22