Я работаю над приборной панелью, которая показывает в реальном времени подробности о наборе машин.У меня есть ниже для моего Powershell
param([string] $server)
$services = Get-WmiObject win32_service -ComputerName $server | Select -Property Name, ExitCode, State, Status
$disk = get-WmiObject win32_logicaldisk -Computername $server | Select-Object -Property DeviceID, @{n="Size";e={[math]::Round($_.Size/1GB,2)}},@{n="FreeSpace";e={[math]::Round($_.FreeSpace/1GB,2)}}
$cpu = Get-WmiObject win32_processor -ComputerName $server | Measure-Object -property LoadPercentage -Average | Select Average
$server_summary = @{
services = $services
disk = $disk
cpu = $cpu
}
$json = $server_summary | ConvertTo-Json
return $json
У меня есть ниже для моей функции c #
public JsonResult test (string server)
{
string script = ControllerContext.HttpContext.Server.MapPath("~/Content/Powershell/Get-Server-Summary.ps1");
string cmd = script + " -server '" + server + "'";
using (var ps = PowerShell.Create())
{
ps.AddScript(cmd);
var results = ps.Invoke();
return Json(results);
}
}
В разделе сценариев моего HMTL у меня есть
function test(server) {
$.ajax({
type: "POST",
url: '@Url.Action("test")',
dataType: "json",
data: "{'server':" + "'" + server + "'}",
contentType: "application/json; charset=utf-8",
success: function (data) {
},
error: function (xhr, ajaxOptions, thrownError) {
alert('Error getting stats for ' + server + '.');
},
complete: function () {
}
});
}
$(document).ready(function(){
test('server_name');
});
Несмотря на то, что я преобразовал результат в JSON, прежде чем вернуться к результатам в приложении, я получил пустую строку.
Я что-то упустил?Я смог получить результаты с помощью немного другой функции, но она возвращает неверные результаты.
Я опубликую это в комментариях, потому что у меня слишком много кода для публикации моего вопроса ...
Результаты на стороне сервера выглядят следующим образом.
Вы видите, что я получаю один результат - строку, содержащую все json.
Было трудно получитьскриншот во времени.Но вы можете видеть, что значение там, Это просто ДЕЙСТВИТЕЛЬНО похоронено ... Мне действительно нужно проанализировать все это?Для этого уже нет функции?
![enter image description here](https://i.stack.imgur.com/uO4VK.png)